[leetcode] 【数组】36. Valid Sudoku
来源:互联网 发布:数据库具备的特性 编辑:程序博客网 时间:2024/06/05 07:00
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.
题意
检测所给数独库是否符合数独游戏要求。
数独要求每个九宫格放1-9个数,不能重复。每行每列也要满足这个要求。
题解
无非是遍历每行每列以及每个九宫格。
//cpp//时间复杂度O(n^2),空间复杂度O(1)class Solution {public: bool isValidSudoku(vector<vector<char>>& board) { for(int i=0;i!=9;i+=3) { for(int j=0;j!=9;j+=3) { if(!check1(board,i,j)) return false; } } for(int i=0;i!=9;i++) { if(!check2(board,i,0)) return false; } for(int i=0;i!=9;i++) { if(!check3(board,0,i)) return false; } return true; } bool check1(vector<vector<char>>& board,int row,int col) { int temp[10]={0}; for(int i=row;i!=row+3;i++) { for(int j=col;j!=col+3;j++) { if(board[i][j]!='.') { int n=board[i][j]-'0'; if(temp[n]>=1) return false; else temp[n]++; } } } return true; } bool check2(vector<vector<char>>& board,int row,int col) { int temp[10]={0}; for(int i=0;i!=9;i++) { if(board[row][i]!='.') { int n=board[row][i]-'0'; if(temp[n]>=1) return false; else temp[n]++; } } return true; } bool check3(vector<vector<char>>& board,int row,int col) { int temp[10]={0}; for(int i=0;i!=9;i++) { if(board[i][col]!='.') { int n=board[i][col]-'0'; if(temp[n]>=1) return false; else temp[n]++; } } return true; }};
0 0
- [leetcode] 【数组】36. Valid Sudoku
- leetcode数组之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
- 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
- XML
- 自组织神经网络:Kohonen网络训练算法
- SQLite数据库基本语法
- 2151 Worm
- 工具进阶篇
- [leetcode] 【数组】36. Valid Sudoku
- 关于使用LIBSVM3.21过程中出现的问题
- git提交到远程仓库(or部署服务器)
- 如何处理海量数据(转)
- SQLite数据库函数基本使用
- LeetCode-82.Remove Duplicates from Sorted List II
- python 矩阵转置
- ADO.NET-数据库操纵工具
- hive学习之五:java通过zookeeper获取active namenode地址。