Easy and Simple C++ Approach


#1

Simplest C++ Code for Sudoku

int Solution::isValidSudoku(const vector &A) {
vector v(9);
fill(v.begin(),v.end(),0);
for(int i=0;i<A.size();i++){
for(int j=0;j<A[i].length();j++){
if(isdigit(A[i][j])){
int l=A[i][j]-‘0’;
if(v[l]==1){
return 0;
}
else{
v[l]++;
}
}
}
for(int l=1;l<=9;l++){
v[l]=0;
}
}
for(int i=0;i<A[0].length();i++){
for(int j=0;j<A.size();j++){
if(isdigit(A[j][i])){
int l=A[j][i]-‘0’;
if(v[l]==1){
return 0;
}
else{
v[l]++;
}
}
}
for(int l=1;l<=9;l++){
v[l]=0;
}
}
int x=0;
int y=0;
int a=0;
while(a<9){
for(int i=x;i<x+3;i++){
for(int j=y;j<y+3;j++){
if(isdigit(A[j][i])){
int l=A[j][i]-‘0’;
if(v[l]==1){
return 0;
}
else{
v[l]++;
}
}
}

}
for(int l=1;l<=9;l++){
        v[l]=0;
    }
if(y==6){
    x=x+3;
    y=0;
}
else{
y=y+3;
}
a++;

}
return 1;

}