/**36. Valid Sudoku
* @param board
* @return
*/
public boolean isValidSudoku(
char[][] board) {
HashSet<Character> set =
new HashSet<Character>();
for (
int i =
0; i <
9; i++) {
for (
int j =
0; j <
9; j++) {
if (board[i][j] ==
'.')
continue;
if (set.contains(board[i][j]))
return false;
set.add(board[i][j]);
}
set.clear();
}
for (
int j =
0; j <
9; j++) {
for (
int i =
0; i <
9; i++) {
if (board[i][j] ==
'.')
continue;
if (set.contains(board[i][j]))
return false;
set.add(board[i][j]);
}
set.clear();
}
for (
int k =
0; k <
9; k++) {
for (
int i = k/
3*
3; i < k/
3*
3+
3; i++) {
for (
int j = (k%
3)*
3; j < (k%
3)*
3+
3; j++) {
if (board[i][j] ==
'.')
continue;
if (set.contains(board[i][j]))
return false;
set.add(board[i][j]);
}
}
set.clear();
}
return true;
}
// HashSet的唯一性来帮助check
转载请注明原文地址: https://ju.6miu.com/read-4635.html