LeetCode题解:Valid Sudoku
2013-10-26 15:43
543 查看
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
'.'.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Sudoku-by-L2G-20050714.svg/250px-Sudoku-by-L2G-20050714.svg.png)
A partially filled sudoku which is valid.
思路:
遍历整个棋盘,记录每一行,每一列,每一块用过的数字。一旦发现一个数字在行,列,块上有重复则报错。
题解:
// ⑨者,笨蛋也 #define BAKA 9 class Solution { public: bool isValidSudoku(vector<vector<char> > &board) { array<bool, BAKA> row[BAKA]; array<bool, BAKA> col[BAKA]; array<bool, BAKA> box[BAKA]; // as standard C array // the variables are not initialized... for(auto r = 0; r < BAKA; ++r) for(auto c = 0; c < BAKA; ++c) row[r][c] = col[r][c] = box[r][c] = false; for(auto r = 0; r < BAKA; ++r) for(auto c = 0; c < BAKA; ++c) { char ch=board[r][c]; if (ch == '.') continue; // blank, no effect ch -= '1'; if (row[r][ch]) return false; row[r][ch] = true; if (col[c][ch]) return false; col[c][ch] = true; if (box[r / 3 * 3 + c / 3][ch]) return false; box[r / 3 * 3 + c / 3][ch] = true; } return true; } };
相关文章推荐
- LeetCode题解——Valid Sudoku
- [LeetCode]题解(python):036-Valid Sudoku
- 【E】【59】【leetcode题解】Valid Sudoku
- leetcode题解-36. Valid Sudoku
- leetcode 题解 || Valid Sudoku 问题
- LeetCode题解:Valid Sudoku
- Leetcode题解之数组
- leetcode_题解_path sum 2
- LeetCode题解:1.Two Sum
- LeetCode题解:Reverse Integer (3种解法)
- LeetCode题解——Implement Stack using Queues
- LeetCode题解:Longest Valid Parentheses
- leetcode36~Valid Sudoku
- [LeetCode]LRUcache题解(不使用STL容器)
- LeetCode - Valid Sudoku
- LeetCode题解:Validate Binary Search Tree
- LeetCode题解:Best Time to Buy and Sell Stock II
- LeetCode题解 343.Integer Break
- LeetCode--Valid Sudoku
- LeetCode题解 #7 Reverse Integer