Leetcode 36.Valid Sudoku
来源:互联网 发布:免费网络宣传 编辑:程序博客网 时间:2024/05/29 04:40
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.
s思路:
1. sudoku判断。行、列、小方块分别判断。对行来说,每一行都判断有没有重复的数字,一般而言,用hash就可以判断,但这里数字都是有限范围的,直接用vector< bool>(9,0)来判断即可!
2. 为了省空间,可以只用一个vector< bool>(9,0),每行判断完即可清零重新写;另一种就是用vector
class Solution {public: bool isValidSudoku(vector<vector<char>>& board) { // vector<vector<bool>> row(9,vector<bool>(10,0)); vector<vector<bool>> col(9,vector<bool>(10,0)); vector<vector<bool>> block(9,vector<bool>(10,0)); for(int i=0;i<9;i++){ for(int j=0;j<9;j++){ if(board[i][j]=='.') continue; int cur=board[i][j]-'0'; int idx=i/3*3+j/3;//这里有一个可爱的bug:3*i/3就错误,需要3*(i/3)! if(row[i][cur]||col[j][cur]||block[idx][cur]) return false; row[i][cur]=1; col[j][cur]=1; block[idx][cur]=1; } } return true; }
0 0
- [LeetCode]36.Valid Sudoku
- LeetCode --- 36. Valid Sudoku
- LeetCode 36.Valid Sudoku
- [Leetcode] 36. Valid Sudoku
- 【leetcode】36. Valid Sudoku
- [leetcode] 36. Valid Sudoku
- Leetcode 36. Valid Sudoku
- 36. Valid Sudoku LeetCode
- leetcode 36. Valid Sudoku
- LeetCode *** 36. Valid Sudoku
- leetcode 36. Valid Sudoku
- [LeetCode]36. Valid Sudoku
- LeetCode 36. Valid Sudoku
- leetcode-36. Valid Sudoku
- 36.[Leetcode]Valid Sudoku
- Leetcode 36.Valid Sudoku
- LeetCode-36.Valid Sudoku
- leetcode 36. Valid Sudoku
- poj 2948 Martian Mining
- Qt creator 使用pkgconfig
- JS操作字符串的方法
- slub机制彻底图解分析
- opensns源码学习(1)
- Leetcode 36.Valid Sudoku
- CCF201503-1 图像旋转(100分)
- 股票入门基础知识48:什么是交易中的隐性背离
- CENTOS: Docker几个常用的语句
- Leetcode 38. Count and Say
- 构造函数与析构函数
- TestNG 入门指导——理解testng.xml执行/不执行某个包,某个类,某个方法
- NASA告诉你四翼飞行器的飞行原理
- 汇编修改精灵注解之按键微调功能的使用方法: