验证给定的一个二维数组是否为数独
- 每一行的数字必须唯一
- 每一列的数字必须唯一
- 九宫格中的每三行,三列中数字必须唯一
- 遍历九宫格中每个数字
- 将当前数字属于哪一行表示成 行数 + 数字
- 将当前数字属于哪一列表示成 数字 + 列数
- 将当前数字属于哪一个三宫格表示成 三宫格行数 + 数字 + 三宫格列数
class Solution {
public boolean isValidSudoku(char[][] board) {
Set<String> set = new HashSet<>();
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
if(board[i][j] != '.'){
String number = "(" + board[i][j] + ")";
if(!set.add(i + number) || !set.add(number + j) || !set.add(i/3 + number + j/3)){
return false;
}
}
}
}
return true;
}
}