每日leetcode(14)
36.有效的数独
今天的题目如下
这个需要判断三个东西,行的,列的,子数独的,子数独的index=int((row/3)*3)+int(columns/3)
然后需要三个列表,每个列表元素分别是记录当前行,列,子数独的当前数出现的次数,直接上代码
class Solutuin:
def isValidSudoku(self,board):
#创建列,行,子数独的列表,每个列表元素是字典
rows=[{}for i in range(9)]
colums=[{}for i in range(9)]
boxes=[{}for i in range(9)]
for i in range(9):
for j in range(9):
num=board[i][j]
if num!='.':
box_index=int((i/3))*3+int(j/3)#第几个子数独
rows[i][num]=rows[i].get(num,0)+1
colums[j][num]=colums[j].get(num,0)+1
boxes[box_index][num]=boxes[box_index].get(num,0)+1
if rows[i][num]>1 or colums[i][num]>1 or boxes[box_index][num]>1:
return False
return True
效率有60ms