python-leetcode-有效的数独

36. 有效的数独 - 力扣(LeetCode)

python 复制代码
class Solution:
    def isValidSudoku(self, board: List[List[str]]) -> bool:
        rows = [set() for _ in range(9)]
        cols = [set() for _ in range(9)]
        boxes = [set() for _ in range(9)]
        
        for i in range(9):
            for j in range(9):
                num = board[i][j]
                if num == '.':
                    continue
                
                # 检查行
                if num in rows[i]:
                    return False
                rows[i].add(num)
                
                # 检查列
                if num in cols[j]:
                    return False
                cols[j].add(num)
                
                # 检查 3x3 宫格
                box_index = (i // 3) * 3 + (j // 3)
                if num in boxes[box_index]:
                    return False
                boxes[box_index].add(num)
        
        return True
相关推荐
erzong23110 分钟前
Linux操作系统:线程概念与控制
linux·算法
Nil2081 小时前
leetcode 5最长回文子串
算法·leetcode·职场和发展
xxwl5851 小时前
区域赛分类题解
c++·笔记·学习·算法
m0_674571971 小时前
力扣 hot 100 python
python·算法·leetcode
救救孩子把1 小时前
AI面试八股文-14_14-MCP-Skill-Function Calling
人工智能·安全·面试·职场和发展·推理·mcp·functioncall
青少儿编程课堂2 小时前
蓝桥杯+全国青少年信息素养大赛+电子学会PythonC/C++考级:最长公共子序列LCS解析
c++·python·算法·bfs·信息学竞赛
圣保罗的大教堂2 小时前
leetcode 3727. 最大交替平方和 中等
leetcode
倚楼听风语3 小时前
Kotlin 协程与 suspend 原理详解
java·算法·kotlin
Xin7703 小时前
LeetCode 200. 岛屿数量(DFS 深度优先遍历法)
leetcode
程序员清风3 小时前
双指针与滑动窗口:高效处理连续区间
开发语言·算法