update 37
This commit is contained in:
parent
eeef56d627
commit
cf0b925c41
37
leetcode/37.py
Normal file
37
leetcode/37.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Sudoku Solver
|
||||||
|
|
||||||
|
|
||||||
|
class Solution:
|
||||||
|
def solveSudoku(self, board: list[list[int]]) -> None:
|
||||||
|
def isValid(board, row, col, num):
|
||||||
|
# Check if the number is in the current row
|
||||||
|
for x in range(9):
|
||||||
|
if board[row][x] == num:
|
||||||
|
return False
|
||||||
|
if board[x][col] == num:
|
||||||
|
return False
|
||||||
|
|
||||||
|
startRow, startCol = 3 * (row // 3), 3 * (col // 3)
|
||||||
|
for i in range(3):
|
||||||
|
for j in range(3):
|
||||||
|
if board[startRow + i][startCol + j] == num:
|
||||||
|
return False
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
def solve(board):
|
||||||
|
for i in range(9):
|
||||||
|
for j in range(9):
|
||||||
|
if broad[i][j] == ".":
|
||||||
|
# Try all numbers for empty cell
|
||||||
|
for num in map(str, range(1, 10)):
|
||||||
|
if isValid(board, i, j, num):
|
||||||
|
board[i][j] = num
|
||||||
|
if solve(board):
|
||||||
|
return True
|
||||||
|
board[i][j] = "."
|
||||||
|
|
||||||
|
return False
|
||||||
|
return False
|
||||||
|
|
||||||
|
solve(board)
|
Loading…
x
Reference in New Issue
Block a user