leetcide Valid Sudoku
来源:互联网 发布:美国软件中国代理 编辑:程序博客网 时间:2024/06/09 18:18
题目:https://oj.leetcode.com/problems/valid-sudoku/
题意:判断一个数独是否是正确的,这也是后面解数独题的一个部分,如果是格子里是“.”直接跳到下一次循环
思路:3个判断+1个大的二维数组循环
将整个二维数组循环一遍,每一个格子做三个判断,行,列,小格子
用三个二维数组去记录这三个判断的结果,比如bool row[9][9];这个记录行的,比如row[1][5],代表第一行里有没有5这个数,有true,没有false,以此类推另外两个记录数组,col和sub
注意判断小格子时,看这个数属于第几小格子是要试一下的。。。。
class Solution {public: bool isValidSudoku(vector<vector<char> > &board) { bool rows[9][9];<span style="white-space:pre"></span>//记录行里每个元素出现过的情况 下面类似 bool cols[9][9]; bool sub[9][9]; for(int i=0;i<9;i++){ for(int j=0;j<9;j++){ rows[i][j]=false; cols[i][j]=false; sub[i][j]=false; } } for(int i = 0;i<9;i++){ for(int j = 0;j<9;j++){ int one = board[i][j] - '1'; if (board[i][j] == '.') continue; if(rows[i][one]||cols[j][one]||sub[i/3*3 + j/3][one]) return false; else rows[i][one]=cols[j][one]=sub[i/3*3 + j/3][one]=true;<span style="white-space:pre"></span>//注意判断小格子的方法 } } return true; }};
0 0
- leetcide Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- 复杂数据结构&算法可视化演示程序——学习数据结构最好方式
- OpenStack 的 Nova 和 Glance 组件
- oracle数据处理经验1
- Minimum Subarray——算法练习
- CONNECT_BY_ROOT获取根节点属性
- leetcide Valid Sudoku
- Linux 指令详解 chpasswd 批量修改用户密码
- 埃及分数 古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。
- oracle 查询锁表SQL
- IOS开发之UIView总结
- Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
- iOS- 详解文本属性Attributes
- (搬运工)推荐!国外程序员整理的 C++ 资源大全
- shell 如何实现i++操作以及字符串截取操作