1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { auto sz = board.size(); int row[9][9]{0}; int col[9][9]{0}; int block[3][3][9]{0}; for(size_t i = 0; i < 9; ++i) { for(size_t j = 0; j < 9; ++j) { auto num = board[i][j]; if(num != '.') { if(row[i][num - 49] == 1) return false; else row[i][num - 49] += 1; if(col[num - 49][j] == 1) return false; else col[num - 49][j] += 1;
if(block[i / 3][j / 3][num - 49] == 1) return false; else block[i / 3][j / 3][num - 49] += 1; } } } return true; } };
|