当前位置: 首页 > news >正文

有效的数独

有效的数独

题目:

请你判断一个 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示例 2:
输入:board = 
[["8","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"]]
输出:false
解释:除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。 但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。

解题思路: 分别创建三个数组对行, 列, 3 x 3 方格的数字进行校验即可

class Solution {public boolean isValidSudoku(char[][] board) {boolean[][] row = new boolean[9][9];boolean[][] col = new boolean[9][9];boolean[][] block = new boolean[9][9];for(int i = 0; i < 9; i++) {for(int j = 0; j < 9; j++) {char c = board[i][j];if(c == '.') {continue ;}int idx = (int) (c - '1');if(row[i][idx]) {return false;}if(col[j][idx]) {return false;}int rowIdx = i / 3 * 3;int colIdx = j / 3;if(block[rowIdx + colIdx][idx]) {return false;}row[i][idx] = true;col[j][idx] = true;block[rowIdx + colIdx][idx] = true;}}return true;}
}
http://www.lryc.cn/news/165433.html

相关文章:

  • Vue导航守卫beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave
  • 小红书《乡村振兴战略下传统村落文化旅游设计》中南大许少辉八一新著
  • Android13 下拉菜单栏中添加快捷截图按钮
  • GFS文件系统
  • 22 相交链表
  • 简历(快速上手)
  • wpf复制xaml及其cs窗体到其他项目 添加现有项,选 .xaml.cs,点添加即可。VS2022
  • 在线旅游平台步入新时代,携程如何走出自己的路?
  • java中feign远程调用底层是用Hystrix作为熔断器吗?
  • Web安全——穷举爆破下篇(仅供学习)
  • 强大的JTAG边界扫描(5):FPGA边界扫描应用
  • 苍穹外卖集成 Apache POI Java实现Excel文件的读写下载
  • iOS逆向:工具安装
  • 十种数据库缓存相关的技术和机制
  • 【C++】封装unordered_map和unordered_set(用哈希桶实现)
  • 面试问题回忆
  • 更多场景、更多选择,Milvus 新消息队列 NATS 了解一下
  • 如何通过python实现一个web自动化测试框架?
  • Linux —— 信号阻塞
  • 【【萌新编写riscV之计算机体系结构之CPU 总二】】
  • error:03000086:digital envelope routines::initialization error
  • 暴涨130万粉仅用3个月,一招转型成B站热门UP主
  • 【Linus】vim的使用:命令模式、底行模式、插入模式、视图模式、替换模式的常用操作介绍
  • leetcode第362场周赛补题
  • SpringMvc 之crud增删改查应用
  • 【业务功能109】微服务-springcloud-springboot-Skywalking-链路追踪-监控
  • 《向量数据库指南》——AI原生向量数据库Milvus Cloud 2.3架构升级
  • Flutter中实现交互式Webview的方法
  • 【Java Web】用Redis优化登陆模块
  • 华为云云耀云服务器L实例评测|docker私有仓库部署手册