leetcode 36 isValidSudoku
来源:互联网 发布:绿色傲剑2绝学升级数据 编辑:程序博客网 时间:2024/06/05 07:01
class Solution {public: bool isValidSudoku(vector<vector<char>>& board) { set<char> check; typedef set<char>::iterator It; typedef vector<char>::size_type sz; sz len = board.size(); // check row for (sz i = 0; i < len; ++i) { for (sz j = 0; j < len; ++j) { char ch = board[i][j]; if (ch != '.') { It it = check.find(ch); if (it != check.end()) return false; else check.insert(ch); } } check.clear(); } // check column for (sz i = 0; i < len; ++i) { for (sz j = 0; j < len; ++j) { char ch = board[j][i]; if (ch != '.') { It it = check.find(ch); if (it != check.end()) return false; else check.insert(ch); } } check.clear(); } // check sub-boxes for (sz i = 0; i < len; i += 3) { for (sz j = 0; j < len; j += 3) { for (sz m = 0; m < 3; ++m) { for (sz n = 0; n < 3; ++n) { char ch = board[i + m][j + n]; if (ch != '.') { It it = check.find(ch); if (it != check.end()) return false; else check.insert(ch); } } } check.clear(); } } return true; }};
参考后
class Solution {public: bool isValidSudoku(vector<vector<char>>& board) { typedef vector<char>::size_type sz; sz len = board.size(); vector<int> vc(len, 0); vector<vector<int> > checkR(len, vc); vector<vector<int> > checkC(checkR); vector<vector<int> > checkB(checkR); // check row for (sz i = 0; i < len; ++i) { for (sz j = 0; j < len; ++j) { char ch = board[i][j]; if (ch != '.') { // check row if (checkR[i][ch - '0' - 1] == 1 || checkC[j][ch - '0' - 1] == 1 || checkB[i / 3 * 3 + j / 3][ch - '0' - 1] == 1) return false; else { // check row checkR[i][ch - '0' - 1] = 1; // check column checkC[j][ch - '0' - 1] = 1; // check sub-box checkB[i / 3 * 3 + j / 3][ch - '0' - 1] = 1; } } } } return true; }};
阅读全文
0 0
- leetcode 36 isValidSudoku
- Leetcode 36: Combinations
- Leetcode【36】:Sudoku Solver
- LeetCode 36 Sudoku Solver
- [leetcode 36] Valid Sudoku
- leetcode 36: Valid Sudoku
- LeetCode(36) Valid Sudoku
- [leetcode]36 ZigZag Conversion
- leetcode-36 Valid Sudoku
- Valid Sudoku - LeetCode 36
- LeetCode 36 Valid Sudoku
- LeetCode (36) Count Primes
- LeetCode---(36) Valid Sudoku
- Leetcode 36 Valid Sudoku
- Leetcode[36]-Valid Sudoku
- leetcode 36: Valid Sudoku
- Leetcode# 36 Valid Sudoku
- Leetcode#36||Valid Sudoku
- 数据库读取指定数组集
- Flask-migrate
- Mysql系列——数据库运维(1)——数据库版本介绍及安装-bin
- poj2385 Apple Catching
- HDU 4773 反演变换
- leetcode 36 isValidSudoku
- (一)c#整合zeroIce
- Spring/Boot/Cloud系列知识(6)——Spring EL(2)
- ireport使用jdbc连接,提示没有驱动的问题
- 分页参数计算
- 重载函数的特性-总结
- 【图像处理】MATLAB:基本原理
- Windows安装lxml
- poj2528