博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【一天一道LeetCode】#36. Valid Sudoku
阅读量:4197 次
发布时间:2019-05-26

本文共 1047 字,大约阅读时间需要 3 分钟。

一天一道LeetCode

本系列文章已全部上传至我的github,地址:

欢迎转载,转载请注明出处

(一)题目

Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.

这里写图片描述
The Sudoku board could be partially filled, where empty cells are filled with the character ‘.’.

A partially filled sudoku which is valid.

(二)解题

判断一个数独有效,从三个方面检查:

1、每一行包含1~9,且无重复
2、每一列包含1~9,且无重复
3、每一个3*3矩阵中包含1~9,切勿重复

class Solution {public:    bool isValidSudoku(vector
>& board) { int row[9][9] = {
0};//每一行的检验矩阵 int col[9][9] = {
0};//每一列的检验矩阵 int cross[9][9] = {
0};//每一个3*3矩阵的检验矩阵 for(int i = 0;i < 9;i++) { for(int j = 0 ; j < 9 ;j++) { int num = board[i][j] - '1'; if(board[i][j]!='.') { if(row[i][num]++) rturn false;//第i行出现num数字,如果为0,则标记为1,如果非零代表重复 if(col[j][num]++) return false;//如上 if(cross[i/3*3+j/3][num]++) return false;//将数独分为9个3*3矩阵,第i/3*3+j/3个矩阵出现num数字,其他如上 } } } return true; }};
你可能感兴趣的文章
pyqt实现界面化编程
查看>>
qt写DLL文件并调用和出现的问题分析
查看>>
工厂模式(Factory)-设计模式(一)
查看>>
建造者模式(Builder)-设计模式(三)
查看>>
初学Java必备基础知识,编程领域你需要掌握的关键点!
查看>>
阿里五年Java程序员的总结,献给还在迷茫中的你!
查看>>
程序员身上有异味,同事为什么都不会直接告诉他?
查看>>
Java、C、C+ +、PHP、Python分别用来开发什么?一篇文章告诉你!
查看>>
Linux-SHELL常用命令
查看>>
Linux-网络运维基础
查看>>
Verilog编程网站学习——门电路、组合电路、时序电路
查看>>
android——学生信息显示和添加
查看>>
Android——ImageSwitcher轮流显示动画
查看>>
Android——利用手机端的文件存储和SQLite实现一个拍照图片管理系统
查看>>
图像调优1:清晰度相关参数MTF,SFR,MTF50,MTF50P 以及TVL的概念以及换算说明
查看>>
罗永浩欲直播带货,京东说可以帮忙联系
查看>>
B站,正在变成下一个“公众号”?
查看>>
小米启动安心服务月 手机家电产品可免费清洁保养
查看>>
刘作虎:一加新品将全系支持 5G
查看>>
滴滴顺风车上线新功能,特殊时期便捷出行
查看>>