python判断数独是否合理
时间: 2023-10-22 08:06:48 浏览: 84
以下是 Python 实现数独合法性判断的程序:
```python
def isValidSudoku(board):
"""
:type board: List[List[str]]
:rtype: bool
"""
# 检查行
for i in range(9):
row = set()
for j in range(9):
if board[i][j] != '.':
if board[i][j] in row:
return False
row.add(board[i][j])
# 检查列
for j in range(9):
col = set()
for i in range(9):
if board[i][j] != '.':
if board[i][j] in col:
return False
col.add(board[i][j])
# 检查宫
for k in range(9):
box = set()
for i in range(3):
for j in range(3):
row = (k // 3) * 3 + i
col = (k % 3) * 3 + j
if board[row][col] != '.':
if board[row][col] in box:
return False
box.add(board[row][col])
return True
```
该程序首先检查每一行是否合法,然后再检查每一列是否合法,最后检查每一个宫是否合法。在检查每一行、每一列和每一个宫时,使用了 set 来记录已经出现过的数字,如果重复出现了,则返回 False。如果所有行、列和宫都合法,则返回 True。
阅读全文