36. Valid Sudoku 判断部分数独图是否有效
36. Valid Sudoku 判断部分数独图是否有效
特殊的遍历方式,下标作为简单的哈希表 time: O(N²)
bool isValidSudoku(vector<vector<char>>& board) {
int used1[9][10] = {0};
int used2[9][10] = {0};
int used3[9][10] = {0};
for(int i=0;i<9;++i) {
for(int j=0;j<9;++j) {
if (board[i][j]!='.') {
int num=board[i][j]-'0';
int k=(i/3)*3+j/3;
if (used1[i][num]||used2[j][num]||used3[k][num])
return false;
used1[i][num]=used2[j][num]=used3[k][num]=1;
}
}
}
return true;
}#array