网址
题目
判断数独的棋盘是否合法
解法
- 我只想到通过暴力遍历三次棋盘解决,看discussion第一名是非常tricky的解法,具体代码如下
public boolean isValidSudoku(char[][] board) {
Set seen = new HashSet();
for (int i=0; i<9; ++i) {
for (int j=0; j<9; ++j) {
char number = board[i][j];
if (number != '.')
if (!seen.add(number + " in row " + i) ||
!seen.add(number + " in column " + j) ||
!seen.add(number + " in block " + i/3 + "-" + j/3))
return false;
}
}
return true;
}