【leetcode】36. 有效的数独

有效的数独

题目

36. 有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。

数字 1-9 在每一行只能出现一次。

数字 1-9 在每一列只能出现一次。

数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)

注意:

一个有效的数独(部分已被填充)不一定是可解的。

只需要根据以上规则,验证已经填入的数字是否有效即可。

空白格用 '.' 表示。

题解

思路:

  1. 判断行
  2. 判断列
  3. 判断九宫格
python 复制代码
class Solution(object):
    def isValidSudoku(self, board):
        """
        :type board: List[List[str]]
        :rtype: bool
        """
        
        for i in range(9):
            seen = []
            for j in range(9):
                if board[i][j] == '.':
                    continue
                if board[i][j] in seen:
                    return False
                else:
                    seen.append(board[i][j])
                    
        
        
        for i in range(9):
            seen = []
            for j in range(9):
                
                if board[j][i]== '.':
                    continue
                if board[j][i] in seen:
                    return False
                else:
                    seen.append(board[j][i])
        
        for i in range(0, 9, 3):
            for j in range(0, 9 ,3):
                seen = []
                for x in range(0, 3):
                    for y in range(0, 3):
                        if board[i+x][j+y] == '.':
                            continue
                        if board[i+x][j+y] in seen:
                            return False
                        else:
                            seen.append(board[i+x][j+y])


        return True      


        
相关推荐
霖.247 分钟前
K8s实践中的重点知识
linux·云原生·kubernetes
truesnow11 分钟前
速通 awk:一篇文章带你理解 awk 原理,大量实战案例让你马上成为 awk 专家
linux
帅帅爱数学21 分钟前
DeepMimic论文详细解析:基于示例引导的深度强化学习实现物理仿真角色技能
算法·强化学习
Dream it possible!37 分钟前
LeetCode 面试经典 150_哈希表_快乐数(45_202_C++_简单)(哈希表;快慢指针)
leetcode·面试·散列表
Lyre丶40 分钟前
Ubuntu 24.04 LTS 安装GAMIT
linux·经验分享·学习·ubuntu·gamit
namekong843 分钟前
ubuntu 通过下面几种方式查看系统 重启时间/开机时间:
linux·运维·ubuntu
爱奥尼欧1 小时前
【Linux】网络部分——网络基础(协议与网络传输)
linux·网络·arm开发
IT成长日记1 小时前
【LVS入门宝典】LVS调度算法轮询(RR)深度解析:从原理到实战的公平调度之道
算法·lvs·rr·轮询调度算法
_dindong1 小时前
Linux系统编程:线程概念
linux·运维·笔记·学习
NAGNIP1 小时前
一文搞懂量化、剪枝和知识蒸馏都是什么?
算法