[LeetCode][算法初级][数组] 30 有效的数独
30 有效的数独
https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/1/array/30/
写一下题目吧
判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。
- 数字
1-9
在每一行只能出现一次。 - 数字
1-9
在每一列只能出现一次。 - 数字
1-9
在每一个以粗实线分隔的3x3
宫内只能出现一次。
上图是一个部分填充的有效的数独。
数独部分空格内已填入了数字,空白格用 '.'
表示。
翻译一下这道题目的条件:
- 同样的i下标里不能有两个相同的数,
- 同样的j坐标里不能有两个相同的数,
- i/3,j/3的值相同的这个范围里,也不能有两个相同的数。
我觉得根据数字比较下标会是一个比较省心且直观的方式。
遍历数组,把所有的有数字的格子的坐标都保存下来,
由于这题的数字是0-9,正好也省去了我们用hashmap的麻烦,直接用个数组搞定。
再次遍历数组.....等等,用不着啊,在第一次遍历的时候直接就可以判断起来了。
假如有当前数字的坐标记录,就去比较一下是否满足条件。假如没有当前数字的坐标记录,就把当前坐标存下来,继续遍历。
一旦发现不合规的,就返回false,结束循环,妥妥的。
# @param {Character[][]} board
# @return {Boolean}
def is_valid_sudoku(board)i=0j=0rec = []hash = {}for i in 0..8 for j in 0..8next if board[i][j]=='.' r = rec[board[i][j].to_i]if r r.each_with_index do |e, idx|x,y = e[0],e[1]if x==i||y==j||(x/3==i/3 && y/3==j/3)return falseendendr.push [i,j] elserec[board[i][j].to_i] = [[i,j]]end endendreturn true
end
[LeetCode][算法初级][数组] 30 有效的数独相关推荐
- Leetcode算法Java全解答--37. 解数独
Leetcode算法Java全解答–37. 解数独 文章目录 Leetcode算法Java全解答--37. 解数独 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 编写一个 ...
- 【算法-初级-数组】两数之和(JavaScript实现)
[算法-初级-数组]两数之和(JavaScript实现) 博客说明 文章所涉及的部分资料来自互联网整理,当然还有自己个人的总结和看法,分享的目的在于共建社区和巩固自己.引用的资料如有侵权,请联系本人删 ...
- LeetCode初级算法之数组:36 有效数独
01 题目描述 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一 ...
- LeetCode算法练习-数组篇
从排序数组中删除重复项 给定一个排序数组,你需要在原地(原地算法)删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) ...
- leetcode算法题--数组中两个数的最大异或值
原题链接:https://leetcode-cn.com/problems/maximum-xor-of-two-numbers-in-an-array/ 1.方法一:暴力法 func findMax ...
- leetcode算法题--数组中数字出现的次数 II
原题链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-ii-lcof/ int singleNumb ...
- leetcode算法题--数组中数字出现的次数
原题链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/ vector<int> ...
- leetcode算法题--数组中出现次数超过一半的数字
原题链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/ i ...
- leetcode算法题--数组中重复的数字
原文链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/ int findRepeatNumber(vec ...
最新文章
- R语言使用ggplot2包的快速可视化函数qplot绘制密度图(主题、轴标签设置)实战
- 攀枝花市大数据中心落户东区
- 快速入门:十分钟学会Python
- python3猜数字小游戏代码示例
- oracel 数据库问题 ORA-12547 ORA-12571
- 浅谈MySQL存储引擎选择 InnoDB还是MyISAM
- loadrunner脚本中关于httpCode401特殊情况
- .Net读取Excel的数据类型不统一获取空值问题
- 大势至服务器共享文件监控软件8.6,大势至服务器共享文件夹监控软件、局域网共享管理软件、局域网共享设置软件...
- 输出今天是星期几并计算n天后的日期(万年历)
- C++ sort函数(升序降序排列)
- Android 9.0 蓝牙通讯录 BluetoothPbapClient
- 2021 GitHub年度排行榜出炉!中文Top3项目诞生!
- 交通期刊JCR(2020)
- 扇贝编程python广告演员_扇贝编程-人人能学会的python课 az App Store-ban
- JQuery实现图片点击放大
- 电子变压器的设计工艺重不重要?
- 微信小程序开发中调用button组件添加微信客服功能
- 更新文件服务器,文件更新服务器
- 惠而浦扫地机器人充不进电_惠而浦和西屋诉说不要被廉价欺骗 | 智能扫地机器人评测...
热门文章
- C嵌入式编程设计模式
- 【小程序开发之微信登录】
- 声纹、语音识别入门书籍推荐
- swash编译安装教程
- 软件项目管理作业(一)
- 解题:POI 2008 Plot purchase
- 成功解决 failing shard [AccessControlException[access denied (“java.io.FilePermission“
- 树莓派控制3631AS数码管 驱动 python程序 共阴数码管|徐奥雯编写|XUAOWEN
- 用支付宝如何自己拍证件照?
- PHP使用文字检索,关键词查询,分词查询