Leetcode 36 Valid Sudoku 数独的合法性判断

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.

```class Solution {
public:
bool isValidSudoku(vector<vector<char>>& board) {
int cnt=0;
for(int i=0;i<7;i+=3)
{
for(int j=0;j<7;j+=3)
{   //9宫格
int vis=0,vis1=0,vis2=0;
for(int k=0;k<3;k++)
for(int l=0;l<3;l++)
{
if(board[i+k][j+l]=='.') continue;
if((1<<(board[i+k][j+l]-'0') & vis)==0)
vis|=(1<<(board[i+k][j+l]-'0'));
else
return false;
}
for(int k=0;k<9;k++)
{
if(board[cnt][k]!='.')
{
if((1<<(board[cnt][k]-'0') & vis2)==0)
vis2|=(1<<(board[cnt][k]-'0'));
else
return false;
}
if(board[k][cnt]!='.')
{
if((1<<(board[k][cnt]-'0') & vis1)==0)
vis1|=(1<<(board[k][cnt]-'0'));
else
return false;
}
}
cnt++;
}
}
return true;
}
};```

0 条评论

相关文章

38420

39630

SNMP学习笔记之SNMPv3的报文格式以及基于USM的认证和加密过程

图 1

48730

96650

9220

16040

9420

1.3K60

Nginx 发布 mainline version 1.13.0

Nginx 发布了 mainline version 1.13.0（即通常说的开发版）。更新内容如下：

10850