class Solution(object):
def isValidSudoku(self, board):
"""
:type board: List[List[str]]
:rtype: bool
两种思路:
1.逐元素读
2.逐行、列、九宫格读
逐元素读快吧?
"""
for i in range(len(board)):
list_int=['1','2','3','4','5','6','7','8','9']
for j in range(len(board[0])):
if board[i][j]=='.':
pass
elif board[i][j] in list_int:
list_int.pop(list_int.index(board[i][j]))
else:
return False
for i in range(len(board)):
list_int=['1','2','3','4','5','6','7','8','9']
for j in range(len(board[0])):
if board[j][i]=='.':
pass
elif board[j][i] in list_int:
list_int.pop(list_int.index(board[j][i]))
else:
return False
#return True
def SmallSodoku(i,j):
list_int = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for m in range(i,i+3):
for n in range(j,j+3):
if board[m][n] == '.':
pass
elif board[m][n] in list_int:
list_int.pop(list_int.index(board[m][n]))
else:
return False
for i in range(3):
for j in range(3):#board[3*(i+1)][3*(j+1)]顶点坐标
if SmallSodoku(3*i,3*j)==False:
return False
else:
pass
return True
基本题型,普通思路