首页 > 其他分享 >36. 有效的数独

36. 有效的数独

时间:2023-11-08 15:11:06浏览次数:22  
标签:return cur int 36 char 有效 board 数独

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

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

注意:

一个有效的数独(部分已被填充)不一定是可解的。
只需要根据以上规则,验证已经填入的数字是否有效即可。
空白格用 '.' 表示。


示例 1:


输入:board = 
[["5","3",".",".","7",".",".",".","."]
,["6",".",".","1","9","5",".",".","."]
,[".","9","8",".",".",".",".","6","."]
,["8",".",".",".","6",".",".",".","3"]
,["4",".",".","8",".","3",".",".","1"]
,["7",".",".",".","2",".",".",".","6"]
,[".","6",".",".",".",".","2","8","."]
,[".",".",".","4","1","9",".",".","5"]
,[".",".",".",".","8",".",".","7","9"]]
输出:true

代码


class Solution {
public:
    bool isValidSudoku(vector<vector<char>>& board) {
        int row[9][10] = {0};
        int col[9][10] = {0};
        int box[9][10] = {0};

        for(int i = 0;i < 9;i++){
            for(int j = 0;j < 9;j++){
                if(board[i][j] == '.') continue;
                int cur_char = board[i][j] - '0';
                if(row[i][cur_char]) return false;
                if(col[j][cur_char]) return false;
                if(box[j/3 + (i/3)*3][cur_char])  return false;

                row[i][cur_char] = 1;
                col[j][cur_char] = 1;
                box[j/3 + (i/3)*3][cur_char] = 1;
            }
        }
        return true;
    }
};

标签:return,cur,int,36,char,有效,board,数独
From: https://www.cnblogs.com/lihaoxiang/p/17817458.html

相关文章

  • 有效降低数据库存储成本方案与实践
    背景随着平台的不断壮大,业务的不断发展,后端系统的数据量、存储所使用的硬件成本也逐年递增。从发展的眼光看,业务与系统要想健康的发展,成本增加的问题必须重视起来。目前业界普遍认同开源节流大方向,很多企业部门也针对数据库存储降低成本进行了尝试,有的删数据、有的删索引、有的做......
  • 2023-11-08 360浏览器 new Date().getTime() 获取到的时间戳与其它浏览器(chrome、edge
    问题描述:360浏览器newDate().getTime()获取到的时间戳比chrome或者edge要多出一些时间。原因:360浏览器对newDate的兼容性与其它浏览器厂商不同。部分网友认为是在开了极速模式下的360浏览器,会采用webkit的引擎,对含有T字符的日期时间newDate的时候就会相差几个小时,详情请看:h......
  • FS2957 降压恒压芯片内置120V功率管36V48V60V72V80v降压5V
    随着科技的不断进步,电子设备在我们的生活中越来越普及,而电源管理芯片作为电子设备中的重要组成部分,也得到了广泛的应用。今天,我们要介绍的是一款具有高性价比的FS2957降压恒压芯片,它内置120V功率管,适用于36V、48V、60V、72V、80V的降压5V输出。FS2957降压恒压芯片采用专利的电流模......
  • 企业微信开启接收消息+验证URL有效性
    企业微信开启接收消息+验证URL有效性......
  • L5-367. 有效的完全平方数
     解决方法:加一个num=1的判断条件即可因为下标从0开始,当num=1时,left、right、mid的下标都是0,这样mid*mid=0,所以X=1时要单独考虑classSolution{publicbooleanisPerfectSquare(intnum){longleft=0,right=num-1;//官方题解......
  • Oracle IMP-00010: 不是有效的导出文件,标题验证失败
    大概有两种情况:1.imp/exp的版本不对,也就是说低版本的导出,可以用高版本的导入,但高版本导出不能用低版本的导入,这个版本不只是指imp/exp的版本,也是指数据库的版本。也就是说,低版本的SQLDeveloper/Oracledatabase/Oracleclient导出的dmp文件,可以导入到高版本的SQLDeveloper/Orac......
  • P5365 SNOI2017 英雄联盟
    P5365SNOI2017英雄联盟基本思路刚洗完澡做的,脑子转不动了。疑似开始自动化思考了,状态转移方程是这一坨\(F[i][j]*=F[i-1][j-k*w[i]]\)事实上根本不对。首先当前的方案数完全没有体现出来,只乘了之前的方案数,而且这是一个最优性问题,不是计数问题,要在两种状况中做出选......
  • 适合新手学习的360文库采集程序
    今天给大家带来的是一个采集360文库的爬虫程序,非常简洁小巧,适合新手使用,在实际使用时还需要根据自身的需求进行修改,先让我们来一起学习一下吧。```kotlinimportjava.net.URLimportjava.net.HttpURLConnectionimportjava.net.InetSocketAddressimportjava.net.Proxyfunmai......
  • Microsoft 365 开发:AI builder是如何与 Power Apps集成可以让使用 AI 变得容易
    Blog链接:https://blog.51cto.com/13969817AIBuilder是一项MicrosoftPowerPlatform功能,无需任何定制开发或者coding,就可可提供专门用于优化您的业务流程的AI模型。说明:AI中的部分功能尚未发布,仍旧处于预览状态。MicrosoftPowerPlatform包括5个主要组件,用于不同的用途,不同......
  • [936] Save a GeoDataFrame as a Shapefile
    InGeoPandas,youcansaveaGeoDataFrameasaShapefileusingtheto_filemethod.Here'showtodoit:importgeopandasasgpd#CreateorloadaGeoDataFrame(gdf)thatyouwanttosave#...#SpecifythepathandnamefortheShapefile(e.g.,&......