【leetcode】36. Valid Sudoku
2015-10-07 14:18
183 查看
首先分成9个3*3的格子,判断是否格子内的数是否唯一。
然后判断9*9的整体,每行每列的数是否唯一。
然后判断9*9的整体,每行每列的数是否唯一。
class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { bool mark[10]; for(int i = 0; i < 3; i ++) for(int j = 0; j < 3; j ++) { memset(mark, false, sizeof(mark)); for(int p = 0; p < 3; p ++) { for(int q = 0; q < 3; q ++) { int tx = p + i * 3; int ty = q + j * 3; if(board[tx][ty] == '.') continue; else { int t = board[tx][ty] - '0'; if(!mark[t]) mark[t] = true; else return false; } } } } for(int i = 0; i < 9; i ++) { for(int j = 0; j < 9; j ++) { memset(mark, false, sizeof(mark)); for(int k = 0; k < 9; k ++) { if(board[i][k] == '.') continue; else { int t = board[i][k] - '0'; if(!mark[t]) mark[t] = true; else return false; } } memset(mark, false, sizeof(mark)); for(int k = 0; k < 9; k ++) { if(board[k][j] == '.') continue; else { int t = board[k][j] - '0'; if(!mark[t]) mark[t] = true; else return false; } } } } return true; } };
相关文章推荐
- 【bbed】bbed工具使用小记
- I/O模型
- Linux标准错误输出
- java中的垃圾回收机制的相关知识
- 西安校区来校路线介绍
- VCFtools quality filtering
- 使用 Python 进行线程编程
- 开通了新博客,好友来粉啦
- 耕耘祝福 播种希望
- 丑数
- iOS面试时必须知道的试题
- [leetcode 290]Word Pattern
- go语言 类型:字符串
- IOS使用XMPP最新教程(四)获取好友列表 (通过花名册)
- linux中断子系统(一) - 注册系统中断处理函数
- startActivityForResult使用方式
- POJ - 1180 Batch Scheduling(斜率优化DP)
- Yii2 使用十一 在设置enablePrettyUrl时候,defaultAction的设置方法
- Core Animation动画学习2——自定义CALayer的动画
- Eclipse Xml编译错误Referenced file contains errors - spring-beans-4.0.xsd