Valid Sudoku
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.
很简单的思路,遍历。九行九列元素1-9,九个小九宫格元素1-9
class Solution { public: bool isValidSudoku(vector<vector<char> > &board) { bool used[9]; int i,j,r,c; for(i = 0; i < 9; i++){ fill(used, used + 9, false); for(j = 0; j < 9; ++j ){ if(!check(board[i][j], used)) return false; } fill(used, used + 9, false); for(j = 0; j < 9; ++j){ if(!check(board[j][i], used)) return false; } for (r = 0; r < 3; ++r){ for(c = 0; c < 3; ++c){ fill(used, used + 9, false); for(int i = r*3; i < r*3 + 3; ++i) for(int j = c*3; j < c*3 + 3; ++j) if(!check(board[i][j], used)) return false; } } } return true; } private: bool check(char ch, bool used[9]){ if(ch == '.') return true; if(used[ch - '1']) return false; return used[ch - '1'] = true; } };
版权声明:本文为博主原创文章,未经博主允许不得转载。