题目:
Determine if a Sudoku is valid
解答:
就是分别对行,列,宫格进行出现的数字的判断即可
class Solution {
public:
bool isValidSudoku(vector<vector<char>>& board) {
memset(cols,0,sizeof(cols));
memset(rows,0,sizeof(rows));
memset(grid,0,sizeof(grid));
for(int i = 0;i < 9;++i)
{
for(int j = 0;j < 9;++j)
{
if(board[i][j] == '.')
continue;
int t = board[i][j] - '0';
if(cols[j][t] == true)
return false;
cols[j][t] = true;
if(rows[i][t] == true)
return false;
rows[i][t] = true;
if(grid[i/3][j/3][t] == true)
return false;
grid[i/3][j/3][t] = true;
}
}
return true;
}
private:
bool cols[9][10];
bool rows[9][10];
bool grid[3][3][10];
};