Leetcode題庫 36 有效的數獨

2022-05-20 23:47:40 字數 1286 閱讀 9042

@author: zzq

@software: pycharm

@file: leetcode36_isvalidsudoku.py

@time: 2018/11/19 19:27

要求:判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。

數字 1-9 在每一行只能出現一次。

數字 1-9 在每一列只能出現一次。

數字 1-9 在每乙個以粗實線分隔的 3x3 宮內只能出現一次。

思路: 純暴力解決。

class solution():

def __init__(self):

pass

def isvalidsudoku(self, board):

""":type board: list[list[str]]

:rtype: bool

"""row_list = [0] * 9

col_list = [0] * 9

for i in range(9):

for j in range(9):

if board[i][j] != '.':

if col_list[int(board[i][j])-1] == 0:

col_list[int(board[i][j])-1] = 1

else:

return false

if board[j][i] != '.':

if row_list[int(board[j][i])-1] == 0:

row_list[int(board[j][i])-1] = 1

else:

return false

row_list = [0] * 9

col_list = [0] * 9

rect_list = [0] * 9

for k in range(3):

for t in range(3):

for i in range(3):

for j in range(3):

if board[k*3 + i][t*3 + j] != '.':

if rect_list[int(board[k*3 + i][t*3 + j])-1] == 0:

rect_list[int(board[k*3 + i][t*3 + j])-1] = 1

else:

return false

rect_list = [0] * 9

return true

leetCode題庫36 有效的數獨

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

LeetCode 36 有效的數獨

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

LeetCode 36 有效的數獨

public boolean isvalidsudoku char board 檢查行 if isparticallyvalid board,i,i,0,8 檢查塊 for int i 0 i 3 i return true 把要檢查的值存入到set中,每次向set中新增值的時候,如果失敗則證明該值...