Leetcode学习笔记:#36. Valid Sudoku
Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:
Each row must contain the digits 1-9 without repetition.
Each column must contain the digits 1-9 without repetition.
Each of the 9 3x3 sub-boxes of the grid must contain the digits 1-9 without repetition.
实现:
public boolean isValidSudoku(char[][] board){
Set hseen = new HashSet();
for(int i = 0; i < 9; i++){
for(int j = 0; j < 9; j++){
char number = board[i][j];
if(numbet != '.'){
if{(!hseen.add(number + " row " + i)||
!hseen.add(number + " column " + j)||
!hseen.add(number + " block " + i/3 + "-" + j/3))
return false;
}
}
}
}
return true;
}
思路:
遍历整个大九宫格。每遇到一个数字就添加行数列数和所在的九宫格的表示并加入到set里,如果set里已经含有该元素,返回false。