有效的数独

题目链接

有效的数独

题目描述



注意点

  • board.length == 9
  • board[i].length == 9
  • board[i][j] 是一位数字(1-9)或者 ‘.’

解答思路

  • 首先判断行是否满足数独条件,再判断列是否满足数独条件,最后再判断划分的3x3方格是否满足数独条件,中间有一处不满足则直接返回false,遍历完后都满足条件则返回true

代码

class Solution {public boolean isValidSudoku(char[][] board) {int row = board.length;int col = board[0].length;// 判断行for (int i = 0; i < row; i++) {int[] arr = new int[10];for (int j = 0; j < col; j++) {if (board[i][j] == '.') {continue;}if (arr[board[i][j] - '0'] != 0) {return false;}arr[board[i][j] - '0'] = 1;}}// 判断列for (int j = 0; j < col; j++) {int[] arr = new int[10];for (int i = 0; i < row; i++) {if (board[i][j] == '.') {continue;}if (arr[board[i][j] - '0'] != 0) {return false;}arr[board[i][j] - '0'] = 1;}}// 判断3 x 3方格for (int i = 0; i < row; i = i + 3) {for (int j = 0; j < col; j = j + 3) {if (!isValidSudokuSquare(board, i, j)) {return false;}}}return true;}public boolean isValidSudokuSquare(char[][] board, int x, int y) {int[] arr = new int[10];for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if (board[x + i][y + j] == '.') {continue;}if (arr[board[x + i][y + j] - '0'] != 0) {return false;}arr[board[x + i][y + j] - '0'] = 1; }}return true;}
}

关键点

  • 有效数独的条件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/127065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tuna: Instruction Tuning using Feedback from Large Language Models

本文是LLM系列文章&#xff0c;针对《Tuna: Instruction Tuning using Feedback from Large Language Models》的翻译。 Tuna:使用来自大型语言模型的反馈的指令调优 摘要1 引言2 方法3 实验4 相关工作5 结论局限性 摘要 使用更强大的LLM&#xff08;如Instruction GPT和GPT-…

PCI9054入门1:硬件引脚定义、时序、FPGA端驱动源码

文章目录 1&#xff1a;PCI9054的FPGA侧&#xff08;local侧引脚定义&#xff09;2&#xff1a;PCI9054的C模式下的读写时序3&#xff1a;FPGA代码部分具体代码&#xff1a; 1&#xff1a;PCI9054的FPGA侧&#xff08;local侧引脚定义&#xff09; 而PCI9054的本地总线端的主要…

小程序day01

简介: 小程序项目的基本结构 页面的组成部分 一个页面对应一个文件夹&#xff0c;所有有关的内容都放在一起。 JSON配置文件 2.app.json文件 3.project.config.json文件 4.sitemap.json文件 5.页面的.json配置文件 6. 新建小程序页面 7.修改项目首页 小程序代码构成 小程序的宿…

zabbix6.4监控centos

1、关闭防火墙 setenforce 0 #关闭SELinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #设置永久关闭SELinux systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service …

某汽车金融企业:搭建SDLC安全体系,打造智慧金融服务样本

某汽车金融企业是国内头部汽车金融公司&#xff0c;已经为超过数百万名客户提供专业的汽车金融服务。该公司通过近几年的数字化创新&#xff0c;在提升客户体验、提高管理效率、降低经营成本等方面已具备很强的服务能力&#xff0c;让客户获得更方便、更快捷、更灵活的金融服务…

VScode clangd 插件浏览 linux 源码

文章目录 VScode clangd 插件浏览 linux 源码clangd 安装与配置VScode 插件安装clangd 安装方法一方法二 clangd 配置 cmake 生成bear 生成 compile_commands.json触发 clangd linux 内核脚本生成 compile_commands.json 文件三种方式对比 VScode clangd 插件浏览 linux 源码 …

【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

Kotlin this和it的使用区别

在 Kotlin 中&#xff0c;this 和 it 是两个关键字&#xff0c;用于引用不同的对象。 this 关键字&#xff1a; 在类或对象中&#xff0c;this 关键字引用当前对象本身。 在 Lambda 表达式中&#xff0c;this 关键字引用包含该 Lambda 的类实例。 class MyClass {private val…

大模型需要哪类服务器

大模型需要高性能的服务器&#xff0c;以支持大规模的计算和存储需求。一般来说&#xff0c;大模型需要以下类型的服务器&#xff1a; 大型机&#xff1a;大型机可以提供强大的计算能力&#xff0c;适合处理大规模的数据和复杂的计算任务。 GPU服务器&#xff1a;GPU服务器可以…

2023秋《论文写作》课程总结

2023秋《论文写作》课程总结 授课教师为闵帆教授&#xff0c;原文链接《论文写作》 文章目录 2023秋《论文写作》课程总结一、关于写作工具二、关于写作中的单词、短语、语法等三、关于论文题目四、关于摘要和关键词五、关于引言部分六、关于方法及实验部分七、关于结论八、关…

亲测解决Input dtype must be either a floating point or complex dtype. Got: Long

这个问题是小虎在对张量去平均值的时候遇到。解决方法是先将改张量转成浮点数&#xff0c;然后再取平均值。 背景 pytorch ubuntu 22.04 问题原文 Traceback (most recent call last): File "<string>", line 1, in <module> RuntimeError: mean(): …

uniapp 拉起授权(拒绝后重新开启权限)

在 uniapp 中&#xff0c;你可以通过以下步骤来拉起权限&#xff0c;如果权限被拒绝&#xff0c;可以尝试重新开启权限&#xff1a; 引入 uniapp 的权限模块&#xff1a;首先&#xff0c;你需要在项目中引入 uniapp 的权限模块。在 manifest.json 文件中&#xff0c;找到 uni_m…

76. 最小覆盖子串

76. 最小覆盖子串 滑动窗口 经典写法 class Solution {public String minWindow(String s, String t) {HashMap<Character, Integer> window new HashMap<>(), need new HashMap<>();for(char c : t.toCharArray()) need.merge(c, 1, Integer::sum);int…

【面试】Kafka基础知识

定义 Kafka是一个分布式基于发布/订阅模式的消息队列 优点 解耦&#xff1a;上下游之间依赖解耦。缓冲/削峰&#xff1a;生产消息的速度和消费消息的速度不一致时&#xff0c;可以起到缓冲作用。异步&#xff1a;天然的异步处理机制&#xff0c;生产者把消息(任务)放进队列&…

vue+element ui中的el-button自定义icon图标

实现 button的icon属性自定义一个图标名称&#xff0c;这个自定义的图标名称会默认添加到button下i标签的class上&#xff0c;我们只需要设置i标签的样式就可以了 ##3. 按钮上使用自定义的icon 完整代码 <div class"lookBtn"><el-button icon"el-icon-…

CSS与基本选择器

<div class"c1" id"d1"></div> CSS基本知识 什么是css&#xff1a;CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;他就会按照这个样式l来进行渲染。其实就是让HT…

ChatGPT火了:还有哪些可以做的变现项目

一、写在前面 柴特鸡皮踢 大家都不陌生了 说实话&#xff0c;Chatgpt火了后&#xff0c;正经的项目没出来多少&#xff0c;出了一大批割九菜的。 为什么说是割韭菜&#xff0c;因为一群完全不懂技术&#xff0c;只会讲讲成功学、写作学、财经的大V也敢开社群、卖课。很多人听…

Linux中正则表达式等

grep命令&#xff1a;主要作用就是过滤查找文本内容 常用的选项有&#xff1a; -m 数字:匹配几次之后停止&#xff0c;按行匹配&#xff0c;不是按字符个数&#xff0c;例如 -v:取反 例如: -n:显示匹配的行号 例如&#xff1a; -c:仅显示匹配的行数&#xff0c;不显示匹配内…

基于Docker-consul容器服务更新与发现

目录 一、什么是服务注册与发现&#xff1a; 二、Docker-consul介绍&#xff1a; 三、consul的关键特性&#xff1a; 四、consul部署&#xff1a; 1.部署规划&#xff1a; 2.consul服务器部署&#xff1a; 2.1 建立consul服务&#xff1a; 启动consul后默认会监听5个端口&a…

c++ 实现二叉搜索树

二叉搜索树的概念 二叉搜索树 (BST&#xff0c;Binary Search Tree)&#xff0c;也称二叉排序树或二叉查找树。它要么是一颗空树&#xff0c;要么是满足以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值。若它的右子树不为…