判断行列,3*3正方形中是否有重复数字即可。由于总数字有限,所以用集合或是字典存储都可以
class Solution:
def isValidSudoku(self, board):
"""
:type board: List[List[str]]
:rtype: bool
"""
dict1={}
for i in range(9):
for j in range(9):
if board[i][j]!='.':
d=int(board[i][j])
if (i,-1,d) in dict1 or (-1,j,d) in dict1 or (i//3,j//3,d) in dict1:
return False
dict1[(i,-1,d)]=True
dict1[(-1,j,d)]=True
dict1[(i//3,j//3,d)]=True
return True