Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.
The Sudoku board could be partially filled, where empty cells are filled with the character '.'
.
A partially filled sudoku which is valid.
Note:
A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.
Subscribe to see which companies asked this question
public class Solution {
private int [] check ={
0,0,0,0,0,0,0,0,0,0
};
public void restart (){
for(int i=0;i<10;i++){
check[i]=0;
}
}
public int chec (int a){
if(check[a]!=0)return 0;else{
check[a]=1;return 1;
}
// return 0 ;
}
public boolean isValidSudoku(char[][] board) {
for(int i = 0;i<9;i++){
restart();
for(int j = 0;j<9;j++){
if(board[i][j]=='.')continue;
if(chec(board[i][j]-'0')==0){
return false;
}
}
}
for(int j = 0;j<9;j++){
restart();
for(int i = 0;i<9;i++){
if(board[i][j]=='.')continue;
if(chec(board[i][j]-'0')==0){
return false;
}
}
}
for(int a=0;a<3;a++){
for(int b=0;b<3;b++){
restart();
for(int c=0;c<3;c++){
for(int d=0;d<3;d++){
if(board[3*a+c][3*b+d]=='.')continue;
if(chec(board[3*a+c][3*b+d]-'0')==0){
return false;
}
}
}
}
}
return true;
}
}