题目:
Determine if a Sudoku is valid, according to: Sudoku Puzzles – The Rules.
The Sudoku board could be partially filled, where empty cells are filled with the character '.'
.
A partially filled sudoku which is valid.
思路:
简单地检查行、列、方形是否有数字重复。
代码:
class Solution {
public:
bool num[3][9][9];
bool isValidSudoku(vector<vector<char>> &board) {
for(int i=0;i<3;i++)
{
for(int j=0;j<9;j++)
{
for(int k=0;k<9;k++)
{
num[i][j][k]=true;
}
}
}
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(isInteger(board[i][j]))
{
if(!num[0][i][board[i][j]-'1'])
{
return false;
}
else
{
num[0][i][board[i][j]-'1'] = false;
}
if(!num[1][j][board[i][j]-'1'])
{
return false;
}
else
{
num[1][j][board[i][j]-'1'] = false;
}
if(!num[2][i/3*3+j/3][board[i][j]-'1'])
{
return false;
}
else
{
num[2][i/3*3+j/3][board[i][j]-'1'] = false;
}
}
}
}
return true;
}
};