class Solution {
public boolean isValidSudoku(char[][] board) {
Set<Character> temp=new HashSet<>();
Set<Character> temp1=new HashSet<>();
boolean tmp=false;
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
if(board[i][j]!='.'){
if(!temp.add(board[i][j])) return false;//检测同行有没有重复的数
}
if(board[j][i]!='.'){
if(!temp1.add(board[j][i])) return false;//检测同列有没有重复的数
}
}
temp.clear();//每行检测结束,清空set
temp1.clear();//每列检测结束,清空set
}
for(int i=0;i<9;i++){
for(int k=i/3*3;k<i/3*3+3;k++){
for(int j=i%3*3;j<i%3*3+3;j++){
if(board[k][j]!='.'){
if(!temp.add(board[k][j])) return false;//检测小九宫格内有无重复的数
}
}
}
temp.clear();
}
return true;
}
}
有效的数独--leetcode
最新推荐文章于 2024-04-18 10:05:42 发布