力扣面试150题--有效的数独

Day 19

题目描述

在这里插入图片描述

思路

其实还挺简单的,主要的难点在于如何判断每个小数独是否满足要求
详细见代码

class Solution {public boolean isValidSudoku(char[][] board) {HashSet<Character> set= new HashSet<>();//处理行HashSet<Character> set1= new HashSet<>();//处理左边第一个小数独HashSet<Character> set2= new HashSet<>();//处理左边第二个小数独HashSet<Character> set3= new HashSet<>();//处理左边第三个小数独HashSet<Character> set4= new HashSet<>();//处理列for(int i=0;i<9;i++){//行set.clear();//每次换行,清空setif(i==0||i==3||i==6){//由于小数独不好处理,可以发现0 3 6分别为三行小数独的起始行set1.clear();set2.clear();set3.clear();}set4.clear();//列set清空for(int j=0;j<9;j++){if(board[i][j]!='.'){if(set.contains(board[i][j])){//行如果存在重复return false;}else{//行不存在重复,加入setset.add(board[i][j]);}if(j<3){//第一个数独if(set1.contains(board[i][j])){return false;}set1.add(board[i][j]);}if(3<=j&&j<6){//第二个数独if(set2.contains(board[i][j])){return false;}set2.add(board[i][j]);}if(6<=j){//第三个数独if(set3.contains(board[i][j])){return false;}set3.add(board[i][j]);}}if(board[j][i]!='.'){//列if(set4.contains(board[j][i])){return false;}set4.add(board[j][i]);}    }}return true;}
}

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

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

相关文章

达梦数据库-学习-15-大内存SQL相关视图介绍

目录 一、环境信息 二、介绍 三、数据字典表 1、V$MEM_POOL 2、V$SQL_STAT 3、V$SQL_STAT_HISTORY 4、V$LARGE_MEM_SQLS 5、V$SYSTEM_LARGE_MEM_SQLS 四、总结 一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Co…

从0到1使用C++操作MSXML

1. 引言 MSXML&#xff08;Microsoft XML Core Services&#xff09;是微软提供的一套用于处理XML的COM组件库&#xff0c;广泛应用于Windows平台的XML解析、验证、转换等操作。本文将详细介绍如何从零开始&#xff0c;在C中使用MSXML解析和操作XML文件&#xff0c;包含完整的…

Windows 系统下用 VMware 安装 CentOS 7 虚拟机超详细教程(包含VMware和镜像安装包)

前言 资源 一、准备工作 &#xff08;一&#xff09;下载 VMware Workstation &#xff08;二&#xff09;下载 CentOS 7 镜像 二、安装 VMware Workstation&#xff08;比较简单&#xff0c;按下面走即可&#xff09; 三、创建 CentOS 7 虚拟机 四、安装 CentOS 7 系统…

应用安全系列之四十五:日志伪造(Log_Forging)之三

1、简介 针对Java的日志系统有多种&#xff0c;本文主要描述如何通过修改配置文件来解决logback和log4j的日志伪造问题。 2、logback 2.1、系统提供的解决方案 在logback.xml中配置编码器自动转义特殊字符&#xff1a; 复制 <configuration><appender name"C…

(五)循环链表、双向链表

循环链表 介绍 在单选链表基础上&#xff0c;下一个节点指向前一个节点&#xff0c;最后一个节点指向起点 封装循环链表 为了让循环链表可以继承自单向链表&#xff0c;对其进行重构 给其增加一个tail属性&#xff08;尾节点&#xff09;&#xff0c;对各方法进行重写整理 …

仙剑奇侠传98柔情版游戏秘籍

战斗秘技&#xff1a;在战斗中输入 “cheat”&#xff0c;然后输入 “v” 直接取胜&#xff1b;输入 “y” 敌人不攻击。另外&#xff0c;在战斗中按 “XJPXZ123” 加 “shift” 键&#xff0c;攻击力增加 1000&#xff05;。等级提升秘籍&#xff1a;当李逍遥等级到达 99 级时…

常见的归一化(Normalization)方法

本文详解深度学习中常见的归一化方法。 【归一化是将数据按比例缩放&#xff0c;使之落入一个特定的区间】目录 1. 批量归一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;1.1 数学原理1.2 代码示例 2. 层归一化&#xff08;Layer Normalization&#xff0c;LN&…

行星际激波在日球层中的传播:Propagation of Interplanetary Shocks in the Heliosphere (参考文献部分)

行星际激波在日球层中的传播&#xff1a;Propagation of Interplanetary Shocks in the Heliosphere &#xff08;第一部分&#xff09;-CSDN博客 行星际激波在日球层中的传播&#xff1a;Propagation of Interplanetary Shocks in the Heliosphere &#xff08;第二部分&…

大模型可视化应用敏捷开发方案:Dify+Echarts

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 Moe模式&#xff1a;或将是最好的大模型应用开发路径一文带你了解大模型RAG详细记录…

23种GoF设计模式

GoF&#xff08;Gang of Four&#xff09;设计模式是由四位计算机科学家 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著的书籍《Design Patterns: Elements of Reusable Object-Oriented Software》中提出的设计模式 目录 一、创建型模式&#xff08;Cre…

Losson 4 NFS(network file system(网络文件系统))

网络文件系统&#xff1a;在互联网中共享服务器中文件资源。 使用nfs服务需要安装:nfs-utils 以及 rpcbind nfs-utils : 提供nfs服务的程序 rpcbind &#xff1a;管理nfs所有进程端口号的程序 nfs的部署 1.客户端和服务端都安装nfs-utils和rpcbind #安装nfs的软件rpcbind和…

C++ 入门六:多态 —— 同一接口的多种实现之道

在面向对象编程中&#xff0c;多态是最具魅力的特性之一。它允许我们通过统一的接口处理不同类型的对象&#xff0c;实现 “一个接口&#xff0c;多种实现”。本章将从基础概念到实战案例&#xff0c;逐步解析多态的核心原理与应用场景&#xff0c;帮助新手掌握这一关键技术。 …

关于C使用Windows API获取系统管理员权限和对文本属性的操作,以及windows API的核心操作

关于windows系统的操作程序开发&#xff0c;本文介绍一部分重要的文本属性操作&#xff0c;和运行计次器。 获取系统管理员权限 #include <windows.h> VOID ManagerRun(LPCSTR exe, LPCSTR param, INT nShow) { //注意&#xff1a;会跳出提示。SHELLEXECUTEINFO ShExec…

Web 项目实战:构建属于自己的博客系统

目录 项目效果演示 代码 Gitee 地址 1. 准备工作 1.1 建表 1.2 引入 MyBatis-plus 依赖 1.3 配置数据库连接 1.4 项目架构 2. 实体类准备 - pojo 包 2.1 dataobject 包 2.2 request 包 2.3 response 包 2.3.1 统一响应结果类 - Result 2.3.2 用户登录响应类 2.3.3…

从“被动跳闸”到“主动预警”:智慧用电系统守护老旧小区安全

安科瑞顾强 近年来&#xff0c;老旧小区电气火灾事故频发&#xff0c;成为威胁居民生命财产安全的重要隐患。据统计&#xff0c;我国居住场所火灾伤亡人数远超其他场所&#xff0c;仅今年一季度就发生8.3万起住宅火灾&#xff0c;造成503人遇难。这些建筑多建于上世纪&#x…

【深入浅出 Git】:从入门到精通

这篇文章介绍下版本控制器。 【深入浅出 Git】&#xff1a;从入门到精通 Git是什么Git的安装Git的基本操作建立本地仓库配置本地仓库认识工作区、暂存区、版本库的概念添加文件添加文件到暂存区提交文件到版本库提交文件演示 理解.git目录中的文件HEAD指针与暂存区objects对象 …

Mybatis的简单介绍

文章目录 MyBatis 简介 1. MyBatis 核心特点2. MyBatis 核心组件3. MyBatis 基本使用示例(1) 依赖引入&#xff08;Maven&#xff09;(2) 定义 Mapper 接口(3) 定义实体类(4) 在 Service 层调用 4. MyBatis 与 JPA/Hibernate 对比 MyBatis 简介 MyBatis 是一款优秀的 持久层框…

Android Studio 在 Windows 上的完整安装与使用指南

Android Studio 在 Windows 上的完整安装与使用指南—目录 一、Android Studio 简介二、下载与安装1. 下载 Android Studio2. 安装前的依赖准备3. 安装步骤 三、基础使用指南1. 首次启动配置2. 创建第一个项目3. 运行应用4. 核心功能 四、进阶功能配置1. 配置 SDK 和工具2. 自定…

WPF 绑定方式举例

WPF 绑定方式举例 一、如果ItemsControl 控件的ItemsSource要绑定到List类型&#xff0c;可以如下&#xff1a; List<string> Names new List<string>(); Names.Add("aaa"); Names.Add("bbb");<ItemsControl ItemsSource"{Binding …

LangSmith 设置指南

什么是 LangSmith&#xff1f; LangSmith 是 LangChain 团队开发的一个统一开发者平台&#xff0c;用于构建、测试、评估和监控基于大型语言模型&#xff08;LLM&#xff09;的应用程序。它提供了一套工具&#xff0c;帮助开发者更好地理解、调试和改进他们的 LLM 应用。 注册…