判断行列,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

本文介绍了一种用于判断3*3数独是否有效的算法实现,通过使用字典存储已出现的数字,避免了在3*3正方形、行和列中出现重复数字的情况。算法效率高,适用于数独游戏的有效性验证。
267

被折叠的 条评论
为什么被折叠?



