力扣:探索初级算法——数组篇——有效的数独
题目:有效的数独
代码(C语言)
bool isValidSudoku(char** board, int boardSize, int* boardColSize){int row[9][10] = {0};// 哈希表存储每一行的每个数是否出现过,默认初始情况下,每一行每一个数都没有出现过// 整个board有9行,第二维的维数10是为了让下标有9,和数独中的数字9对应。int col[9][10] = {0};// 存储每一列的每个数是否出现过,默认初始情况下,每一列的每一个数都没有出现过int box[9][10] = {0};// 存储每一个box的每个数是否出现过,默认初始情况下,在每个box中,每个数都没有出现过。整个board有9个box。for(int i=0; i<9; i++){for(int j = 0; j<9; j++){// 遍历到第i行第j列的那个数,我们要判断这个数在其所在的行有没有出现过,// 同时判断这个数在其所在的列有没有出现过// 同时判断这个数在其所在的box中有没有出现过if(board[i][j] == '.') continue; int curNumber = board[i][j]-'0';if(row[i][curNumber]) return false; if(col[j][curNumber]) return false;if(box[j/3 + (i/3)*3][curNumber]) return false;row[i][curNumber] = 1;// 之前都没出现过,现在出现了,就给它置为1,下次再遇见就能够直接返回false了。col[j][curNumber] = 1;box[j/3 + (i/3)*3][curNumber] = 1;}}return true;}//参考链接:https://leetcode-cn.com/problems/valid-sudoku/solution/36-jiu-an-zhao-cong-zuo-wang-you-cong-shang-wang-x/
力扣:探索初级算法——数组篇——有效的数独相关推荐
- LeetCode(力扣)初级算法 字符串篇
目录 1.反转字符串 2.整数反转 2.1第一版代码 2.2第二版代码 3.字符串中的第一个唯一字符 3.1第一版代码 3.2第二版代码 3.3第三版代码 4.有效的字母异位词 4.1第一版代码 4. ...
- LeetCode 探索初级算法-数组:10 有效的数独-20200321
10 有效的数独-20200321 题目 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一 ...
- 力扣刷题笔记 数组篇02——双指针(快慢指针)法
总结先放在前面: 双指针法在数组中是通过使用两个或者多个以上的下标,通过一个快指针和慢指针在一个for循环下完成两个for循环的工作,这样做大幅降低了时间复杂度 题目的类型也比较灵活,一般多用于有序数 ...
- [算法]力扣刷题-初级算法 - 数组(三)(数组篇完结) [两数之和] [有效的数独] [旋转图像]
初级算法 - 数组篇完结: 初级算法 - 数组(一): https://blog.csdn.net/weixin_43854928/article/details/121315702 初级算法 - 数 ...
- [力扣刷题总结](双指针篇)
文章目录 |||||||||||||||||||| 双指针 |||||||||||||||||| 905. 按奇偶排序数组 解法1:双指针+原地交换 解法2:两次遍历+保持相对位置 475. 供暖器 ...
- 力扣刷题学习SQL篇——1-8 查询(按日期分组销售产品——利用聚合函数GROUP_CONCAT)
力扣刷题学习SQL篇--1-8 查询(按日期分组销售产品--利用聚合函数GROUP_CONCAT) 1.题目 2.解法 3.group_concat() 1.题目 题目链接:https://leetc ...
- [Golang]力扣Leetcode - 852. 山脉数组的峰顶索引(二分查找)
[Golang]力扣Leetcode - 852. 山脉数组的峰顶索引(二分查找) 题目:符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < ...
- LeetCode初级算法(数组)解答
这里记录了LeetCode初级算法中数组的一些题目: 加一 本来想先转成整数,加1后再转回去:耽美想到测试的例子考虑到了这个方法的笨重,所以int类型超了最大范围65536,导致程序出错. class ...
- 力扣启蒙 - 开启算法的世界
点击上方 Java学习之道,选择 设为星标 每天18:30点,干货准时奉上! Part1力扣 刷力扣,刷力扣,力扣究竟是什么呢? 力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人 ...
最新文章
- 无人出租要遍地,Waymo百度这种报告就得常走起
- window.open 弹出居中窗口
- python之Queue
- matlab2017b修改mesh的着色方案
- asp.net core轻松入门之MVC中Options读取配置文件
- 【Pytorch神经网络实战案例】27 MaskR-CNN内置模型实现语义分割
- c++中outtextxy_第12章 坚持一百秒(《C和C++游戏趣味编程》配套教学视频)
- VB将自定义资源中的文件释放出来
- asp.net core系列 37 WebAPI 使用OpenAPI (swagger)中间件
- Kinetics-600数据集介绍
- 多项式拟合,模型的复杂度以及权重的变化
- Hadoop的安装和使用
- 开源软件清除了“开源”和“商业”之间的障碍——商业软件、开源软件和自由软件的区别
- 【吐血整理】Python 常用模块(二):json 模块
- 【matlab学习】用matlab编写简单程序(入门)
- Badboy提示脚本错误解决方法
- 51单片机实战教程基础硬件篇(一 电子元件PCB 封装库设计教程)
- 2020计算机专硕考数二的学校,2020考研备考:考研数一、数二、数三哪个最难?...
- 创业者必知的互联网思维之屌丝思维
- 工龄与薪水的一元线性回归模型-Python Pycharm实现(出现警告)