分行,列,及九个小方区判断
代码块
```class Solution:
def isValidSudoku(self, board: List[List[str]]) -> bool:
m=len(board)
n=len(board[0])
st=set()
#every row
for r in range(9):
st.clear()
for l in range(9):
if board[r][l]!=".":
if board[r][l] not in st:
st.add( board[r][l])
else:
return False
#every col
for l in range(9):
st.clear()
for r in range(9):
if board[r][l]!=".":
if board[r][l] not in st: st.add(board[r][l])
else:
return False
#9 个小方区
for r in range(3):
a=r*3
for l in range(3):
b=l*3
st.clear()
for i in range(a,a+3):
for j in range(b,b+3):
if board[i][j]!=".":
if board[i][j] not in st: st.add(board[i][j])
else:
return False
return True