Leetcode 36 Valid Sudoku Solution in java | Hindi Coding Community

0

 

Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:


Each row must contain the digits 1-9 without repetition.

Each column must contain the digits 1-9 without repetition.

Each of the nine 3 x 3 sub-boxes of the grid must contain the digits 1-9 without repetition.

Note:


A Sudoku board (partially filled) could be valid but is not necessarily solvable.

Only the filled cells need to be validated according to the mentioned rules.

 


Example 1:


Input: board = 

[["5","3",".",".","7",".",".",".","."]

,["6",".",".","1","9","5",".",".","."]

,[".","9","8",".",".",".",".","6","."]

,["8",".",".",".","6",".",".",".","3"]

,["4",".",".","8",".","3",".",".","1"]

,["7",".",".",".","2",".",".",".","6"]

,[".","6",".",".",".",".","2","8","."]

,[".",".",".","4","1","9",".",".","5"]

,[".",".",".",".","8",".",".","7","9"]]

Output: true




public boolean isValidSudoku(char[][] board) {
boolean[][] rows = new boolean[9][9];
boolean[][] columns = new boolean[9][9];
boolean[][] squares = new boolean[9][9];
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
if (board[i][j] == '.') {
continue;
}
int num = board[i][j] - '1';
if (rows[i][num]) {
return false;
}
rows[i][num] = true;
if (columns[j][num]) {
return false;
}
columns[j][num] = true;
if (squares[(i / 3) * 3 + j / 3][num]) {
return false;
}
squares[(i / 3) * 3 + j / 3][num] = true;
}
}
return true;
}

Post a Comment

0Comments
Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !