题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
从左上遍历到右下, HashSet 存储并记录unique的值。
小技巧:
number + “row” + 行数: 记录每行的1~9 数字
number + “col” + 列数: 记录每列的1~9 数字
number + “bow”+行数/3+列数/3: 记录每个方块的1~9 数字
时间复杂度
参考文献
Java 代码
class Solution {
public boolean isValidSudoku(char[][] board) {
Set seen = new HashSet<>();
for(int i = 0; i < board.length; i++){
for(int j = 0; j < board[0].length; j++){
char c = board[i][j];
if(c == '.') continue;
if(!seen.add(c+"row"+i) ||
!seen.add(c+"col"+j) ||
!seen.add(c+"bow"+i/3+j/3) ) return false;
}
}
return true;
}
}