LeetCode(力扣)37. 解数独Python

LeetCode37. 解数独

题目链接

https://leetcode.cn/problems/sudoku-solver/description/

代码

python 复制代码
class Solution:
    def solveSudoku(self, board: List[List[str]]) -> None:
        """
        Do not return anything, modify board in-place instead.
        """
        self.backtracking(board)
    def backtracking(self, board):
        for i in range(len(board)):
            for j in range(len(board[0])):
                if board[i][j] != '.':
                    continue
                for k in range(1, 10):
                    if self.is_valid(i, j, k, board):
                        board[i][j] = str(k)
                        if self.backtracking(board): return True
                        board[i][j] = '.'
                return False
        return True

    def is_valid(self, row, col, val, board):
        for i in range(9):
            if board[row][i] == str(val):
                return False
        for i in range(9):  
            if board[i][col] == str(val):
                return False

        start_row = (row // 3) * 3
        start_col = (col // 3) * 3
        for i in range(start_row, start_row + 3):
            for j in range(start_col, start_col + 3):
                if board[i][j] == str(val):
                    return False
        return True
            
相关推荐
CS创新实验室7 分钟前
《计算机网络》深入学:路由算法与路径选择
网络·计算机网络·算法
一条大祥脚7 分钟前
ABC357 基环树dp|懒标记线段树
数据结构·算法·图论
tod1137 分钟前
力扣高频 SQL 50 题阶段总结(四)
开发语言·数据库·sql·算法·leetcode
言無咎17 分钟前
从规则引擎到任务规划:AI Agent 重构跨境财税复杂账务处理体系
大数据·人工智能·python·重构
naruto_lnq18 分钟前
C++中的桥接模式
开发语言·c++·算法
苦藤新鸡18 分钟前
50.腐烂的橘子
数据结构·算法
张小凡vip22 分钟前
数据挖掘(十)---python操作Spark常用命令
python·数据挖掘·spark
想进个大厂24 分钟前
代码随想录day32 动态规划01
算法·动态规划
U盘失踪了29 分钟前
Reqable 导出响应数据
python
2301_7903009633 分钟前
数据分析与科学计算
jvm·数据库·python