class Solution(object):
def isValidSudoku(self, board):
"""
:type board: List[List[str]]
:rtype: bool
"""
verti=[0]*9
horiz=[0]*9
area=[0]*9
for i in range(9):
for j in range(9):
c=board[i][j]
if c=='.':continue
num=ord(c)-ord('0')
if verti[i]&(1<<num)!=0:
return False
verti[i]|=1<<num
if horiz[j]&(1<<num)!=0:
return False
horiz[j]|=1<<num
p=i/3*3+j/3
if area[p]&(1<<num)!=0:
return False
area[p]|=1<<num
return True
本文介绍了一种使用Python实现的数独有效性验证算法。通过位操作来检查数独的每一行、每一列以及每一个宫格内数字是否重复,确保数独符合游戏规则。
438

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



