1.题目
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.
2.思路
class Solution {
public:
bool check(vector<int> &a , char c)
{
if(c == '.') return true;
if(a[c-'0'] == 0){
a[c-'0']++;
return true;
}
else return false;
}
bool isValidSudoku(vector<vector<char>>& board) {
vector<int> row_valid(10);
vector<int> col_valid(10);
vector<vector<int> > sub_valid(10,vector<int>(10));
for(int i = 0;i<9;i++){
row_valid.assign(10, 0);
col_valid.assign(10, 0);
for(int j = 0;j<9;j++){
if(!check(row_valid,board[i][j])) return false;
if(!check(col_valid,board[j][i])) return false;
if(!check(sub_valid[(i/3)*3+j/3],board[i][j])) return false;
}
}
return true;
}
};