有效的數獨

2022-06-08 18:21:08 字數 758 閱讀 2482

判斷乙個9x9的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。數字1-9在每一行只能出現一次。數字1-9在每一列只能出現一次。數字1-9在每乙個以粗實線分隔的3x3宮內只能出現一次。數獨部分空格內已填入了數字,空白格用'.'表示。

def isvalidsudoku(board):

"""一次遍歷

"""row = [{} for i in range(9)]

column = [{} for i in range(9)]

box = [{} for i in range(9)]

for i in range(9):

for j in range(9):

num = board[i][j]

if num == '.':

continue

row[i][num] = row[i].get(num, 0) + 1

column[j][num] = column[j].get(num, 0) + 1

box_index = i // 3 * 3 + j // 3 # 計算所在的3x3子數獨的索引

box[box_index][num] = box[box_index].get(num, 0) + 1

if row[i][num] > 1 or column[j][num] > 1 or box[box_index][num] > 1:

return false

return true

有效的數獨

判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。數字 1 9 在每一行只能出現一次。數字 1 9 在每一列只能出現一次。數字 1 9 在每乙個以粗實線分隔的 3x3 宮內只能出現一次。上圖是乙個部分填充的有效的數獨。數獨部分空格內已填入了數字,空白格用 表示。示...

有效的數獨

題目 判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。數字 1 9 在每一行只能出現一次。數字 1 9 在每一列只能出現一次。數字 1 9 在每乙個以粗實線分隔的 3x3 宮內只能出現一次。說明上圖是乙個部分填充的有效的數獨。數獨部分空格內已填入了數字,空白格用...

有效的數獨

判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。數字 1 9 在每一行只能出現一次。數字 1 9 在每一列只能出現一次。數字 1 9 在每乙個以粗實線分隔的 3x3 宮內只能出現一次。上圖是乙個部分填充的有效的數獨。數獨部分空格內已填入了數字,空白格用 表示。示...