遍历一个有效数独的子九宫格,可以通过以下代码示例来实现:
def isValidSudoku(board):
# 遍历数独的行和列
for i in range(9):
row_nums = set()
col_nums = set()
for j in range(9):
# 检查行
if board[i][j] != '.':
if board[i][j] in row_nums:
return False
row_nums.add(board[i][j])
# 检查列
if board[j][i] != '.':
if board[j][i] in col_nums:
return False
col_nums.add(board[j][i])
# 遍历数独的子九宫格
for i in range(0, 9, 3):
for j in range(0, 9, 3):
nums = set()
for x in range(i, i+3):
for y in range(j, j+3):
if board[x][y] != '.':
if board[x][y] in nums:
return False
nums.add(board[x][y])
return True
在上述代码中,我们使用两层嵌套的循环来遍历数独的行和列,对于每个遍历到的数字,我们使用集合 row_nums
和 col_nums
来记录已经出现过的数字,如果当前数字已经在集合中出现过,则说明数独无效,返回 False。
接下来,我们使用另外两层嵌套的循环来遍历数独的子九宫格。我们使用变量 i
和 j
来控制遍历的起始位置,每次遍历一个 3x3 的子九宫格。同样地,我们使用集合 nums
来记录已经出现过的数字,如果当前数字已经在集合中出现过,则说明数独无效,返回 False。
如果遍历完所有的行、列以及子九宫格之后都没有发现无效的情况,则说明数独是有效的,返回 True。
上一篇:遍历一个由相同数组组成的数组,将每个相邻元素乘以x。
下一篇:遍历一个有序对列表