Valid Sudoku
2015-07-13 17:43
218 查看
Question
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
'.'.
A partially filled sudoku which is valid.
Note:
A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.
My Solution
class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { /******************* * Variable: * int row[9], col[9], board[9]; 1. 遍历读取(i,j)位置的值 2. 如果是'.',则jmp 1; 3. 计算出r_i, c_i, b_i; 4. 分别判断r_i, c_i, b_i是否合理,不合理则jmp 5,否则jmp 1; 5. 结束 *******************/ int row[9] = {0}; int col[9] = {0}; int boa[9]= {0}; int tmp = 0; for(int r = 0; r < 9; r++) { for(int c = 0; c < 9; c++) { char val = board[r][c]; if('.' == val) { continue; } tmp = 1 << (val - '1'); // 判断行 if(0 == (row[r] & tmp)) { row[r] |= tmp; }else { return false; } // 判断列 if(0 == (col[c] & tmp)) { col[c] |= tmp; }else { return false; } // 判断块 int idx_b = (r / 3) * 3 + c / 3; //得到小块位置 if(0 == (boa[idx_b] & tmp)) { boa[idx_b] |= tmp; }else { return false; } } } return true; } };
相关文章推荐
- 介绍Collection框架的结构;Collection 和 Collections的区别
- php防止SQL注入详解及防范
- CentOS系统命令
- Use jQuery to hide a DIV when the user clicks outside of it
- php的self和this
- udp server client
- 常用windows命令
- shell小技巧收藏
- libcurl实现解析(2) - libcurl对poll的使用
- CSS3学习(三)动画使用总结
- Hessian or Burlap in Spring via Http
- 关于springMVC转换json出现的异常
- 几个老式播放器的嵌入代码
- linux之nice命令
- 浮点数原理探究
- 关于springMVC转换json出现的异常
- Redis server went away与selinux
- FusionCharts与HighCharts功能对比分析
- iCarousel
- HTML5本地存储——IndexedDB