[各种面试题] 检查数独是否正确
来源:互联网 发布:编程开发软件是什么 编辑:程序博客网 时间:2024/06/05 14:41
写程序判断一个9*9的数字盘面是否为合法的数独(查看定义)。
9*9的盘面按照Row-major order表示为一个81维的一维数组。
提示:请直接在一维数组上操作,不要先将一维数组拷贝到9*9的二维数组。
犯了两个错,一个是 应该是 row[x] | = ,结果写成&=; 二是要判断 n是否在[1,9]间。
int isValidSudoku(int arr[]) {vector<int> row(9,0);vector<int> col(9,0);vector<int> grid(9,0);for(int i=0;i<81;i++){int x=i/9,y=i%9;int n=arr[i]; if ( n<1 || n> 9) return 0;if ( row[x]& (1<<n )) return 0;elserow[x]|=(1<<n);if ( col[y]& (1<<n) ) return 0;elsecol[y]|=(1<<n);int kgrid=(x/3)*3+y/3;if ( grid[kgrid]&(1<<n)) return 0;elsegrid[kgrid]|=(1<<n);}return 1;}
- [各种面试题] 检查数独是否正确
- 判断数独是否正确
- Valid Sudoku 检查数独是否有效 @LeetCode
- 面试题58:检查单链表是否回文
- 面试题-华为(16年)-数独-7
- [各种面试题] 困难的数
- [各种面试题] Excel数转换
- leetcode_36. Valid Sudoku 判断数独规则是否成立,检查每行、每列、每个九宫格
- 检查xml格式是否正确
- EditText 检查输入是否正确
- javascript 检查邮件是否正确
- [各种面试题] 判断是否平衡二叉树
- [各种面试题] 判断是否二叉搜索树
- [各种面试题] 找出三个只出现一次的数
- DLX解 各种规模数独
- 判定一个数独是否有效。
- 各种面试题
- 各种面试题
- 深入理解计算机系统homework2 2.85 2.93 2.95
- Oracle 11.2.0.4.0 RAC Using RMAN Recovery to Single Instance Database
- uva 10635 - Prince and Princess
- 不用Sqrt,求整数开方问题(精确到0.001)
- c++11
- [各种面试题] 检查数独是否正确
- 深入理解计算机系统 lab1 ——datalab 解答 (95个ops)
- rnqoj-2-01背包
- Java数组技巧攻略
- Ubuntu 下配置minicom并连接开发板
- 13. 链表倒数第K个结点
- poj 1269 Intersecting Lines
- 字符串排序
- 淘宝类目批量查询工具v1.0 发布