classSolution: defsolveSudoku(self, board: List[List[str]]) -> None: """ Do not return anything, modify board in-place instead. """ deffind_possible_number(board, i, j): all_number = set(map(str, range(1, 10))) for index inrange(9): if board[index][j] != ".": all_number.discard(board[index][j]) if board[i][index] != ".": all_number.discard(board[i][index]) row = i // 3 col = j // 3 for m inrange(row*3, (row+1)*3): for n inrange(col*3, (col+1)*3): if board[m][n] != ".": all_number.discard(board[m][n]) return all_number
defsolve(board): for i inrange(9): for j inrange(9): if board[i][j] == ".": for n in find_possible_number(board, i, j): board[i][j] = n if solve(board): returnTrue board[i][j] = "." returnFalse returnTrue