leetcode36. 有效的数独

news/2025/11/14 16:52:03/文章来源:https://www.cnblogs.com/uacs2024/p/19222645

leetcode36. 有效的数独

36. 有效的数独

微信截图_20251114162904

法一:自己写的HashSet,惊天四循环

您的代码通过三个独立的循环分别检查行、列和3×3宫格的有效性,逻辑清晰且易于理解。但主要问题在于:

  • 效率较低:进行了三次遍历(行、列、宫格),时间复杂度为O(3×81)=O(243),而最优解可一次遍历完成
  • 冗余操作:每个循环都创建新的HashSet,HashSet的插入和查询操作虽有O(1)平均复杂度,但相比数组直接访问仍有开销
  • 空间使用:HashSet比布尔数组占用更多内存
class Solution {public boolean isValidSudoku(char[][] board) {for(int i = 0;i < 9;++i){HashSet<Character> cSet = new HashSet<>();for(int j = 0;j < 9;++j){if(board[i][j] != '.'){if(cSet.contains(board[i][j]))  return false;else  cSet.add(board[i][j]);}}}for(int i = 0;i < 9;++i){HashSet<Character> cSet = new HashSet<>();for(int j = 0;j < 9;++j){if(board[j][i] != '.'){if(cSet.contains(board[j][i]))  return false;else  cSet.add(board[j][i]);}}}for(int i = 0;i < 9;i += 3){for(int j = 0;j < 9;j += 3){HashSet<Character> cSet = new HashSet<>();for(int m = i;m < i + 3;++m){for(int n = j;n < j + 3;++n){if(board[m][n] != '.'){if(cSet.contains(board[m][n]))  return false;else  cSet.add(board[m][n]);}}}}}return true;}
}

法二:一次循环,三个 9 * 9的数组分别代表行、列、大九宫的情况。

class Solution {public boolean isValidSudoku(char[][] board) {boolean[][] rows = new boolean[9][9];// 初始化三个布尔数组,分别记录行、列、宫格的数字出现情况boolean[][] cols = new boolean[9][9];boolean[][] boxes = new boolean[9][9];for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j++) {char ch = board[i][j];if (ch == '.') continue; // 跳过空格int num = ch - '1'; // 将字符'1'-'9'转换为索引0-8int boxIndex = (i / 3) * 3 + j / 3; // 计算宫格索引  // i/3计算的是大九宫格所在行,从0开始// 检查当前数字是否在行、列、宫格中已存在if (rows[i][num] || cols[j][num] || boxes[boxIndex][num])  return false;rows[i][num] = true;// 标记为已出现cols[j][num] = true;boxes[boxIndex][num] = true;}}return true;}
}

 

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

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

相关文章

2025年塑料皮带轮批发厂家权威推荐榜单:塑料电机齿轮/尼龙圆柱齿轮/塑料齿轮源头厂家精选

在制造业自动化与轻量化需求持续增长的背景下,塑料皮带轮作为传动系统的核心部件,凭借其耐腐蚀、重量轻、噪音低等优势,正逐步替代部分传统金属部件。 根据QYResearch调研团队发布的报告,2031年全球塑料模块链条和…

102302104刘璇-数据采集与融合技术实践作业3

作业1: 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如中国气象网(http://www.weather.com.cn)。实现单线程和多线程的方式爬取。 输出信息:将下载的url信息在控制台输出,并将下载的图片存储在images子…

views.py视图中搜索search_fields 、排序ordering_fields 、过滤filter_backends 、分页pagination_class 的设置和使用方法

import jsonfrom django.http import HttpResponse, JsonResponse, HttpRequest# Create your views here. from django.urls import reverse from django.views import View from rest_framework.views import APIVie…

Objective-C 使用YYModel配合AI工具高效创建iOS数据模型

在iOS开发中,数据模型(Model)的创建是一个常见且繁琐的任务。随着项目规模的增长,手动编写大量的Model类不仅耗时耗力,还容易出错。本文将介绍如何结合YYModel和AI工具,实现数据模型的快速、准确创建,真正达到&…

Pandas --Series序列

Pandas --Series序列一.什么是Seriespandas Series 是一个带有标签的一维数组,能够保存任何数据类型(整数、字符串、浮点数、Python对象等)。你可以将它想象成 Excel 表格中的一列,或者一个字典与列表的结合体。是…

B5819W-ASEMI可直接替代安世PMEG4010CEGW

B5819W-ASEMI可直接替代安世PMEG4010CEGW编辑:ll B5819W-ASEMI可直接替代安世PMEG4010CEGW ASEMI首芯半导体可替代安氏半导体功率器件 型号:B5819W 品牌:ASEMI 封装:SOD-123 正向电流:1A 反向电压:40V 正向压降:…

2025年液压强夯机生产厂家权威推荐榜单:装载机液压夯实机/冲击夯/高速液压强夯机源头厂家精选

在基建工程质量要求不断提升的背景下,液压强夯机凭借其高效能、强冲击和适应性广的特点,已成为现代地基处理工程中不可或缺的关键设备。 据行业数据显示,2025年高速液压夯实机市场的年需求增长率预计维持在12%以上。…

P3228 [HNOI2013] 数列

推式子可以得到答案为: \[n \times m^{k - 1} - (k - 1) \times m^{k - 2} \times \frac{m(m + 1)}{2} \]

深入解析:《从零搭建现代 Android 模块化架构项目(2025 最新实践)》

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

习题解析之:字符大小写转换

习题解析之:字符大小写转换【问题描述】 输入一个字符串,将其中大写字母转为小写,小写字母转为大写,其他字符保持原样,输出转换后的字符串。 输入格式输入一个字符串。 输出格式输出转换后的字符串。 示例输入: …

ASM指令做题记录

pwn.college 做题记录: 传送门 set-multiple-register点击查看代码memory read 初探地址。 .intel_syntax noprefix mov rax, 0x404000] memory write 题目要求我们把寄存器 rax 里的值存到 0x404000 地址里。

Java 并行编程

Java 并行编程 核心思想 当前计算机多为多CPU、多核架构,为充分发挥硬件性能,可将一个大任务拆分成多个独立小任务。这些小任务在不同处理器核心上并行执行,执行完成后合并结果,最终得到大任务的解决方案。 Fork/J…

11月第二周

11月第二周这是我第一次写实习收获,已经实习四个月了,还一次没写过,现在已经没那么小白了,所以打算整理一下之前所学,这次只是这一周的收获,不多,大多都是从带教和经理那里反馈的建议改进之后总结出的。期望坚持…

视频汇聚平台EasyCVR化解高速服务区管理难题,打造高速服务区的智慧监控方案

视频汇聚平台EasyCVR化解高速服务区管理难题,打造高速服务区的智慧监控方案一、方案背景 高速服务区作为高速公路的重要配套设施,承担着为过往司乘人员提供休息、餐饮、加油、维修等多样化服务的重要职责。随着交通流…

关于HTML中fontbis等字体标签对-物理字体-逻辑字体的介绍及说明

关于HTML中<font><b><i><s>等字体标签对-物理字体-逻辑字体的介绍及说明Posted on 2025-11-14 16:20 520_1351 阅读(0) 评论(0) 收藏 举报在HTML中 ,字体分为【物理字体】和【逻辑字体】…

Linux Shell脚本基础语法

Linux Shell脚本基础语法Shell 是指一种应用程序,用户通过这个程序访问操作系统内核的服务。Windows Explorer,图形界面shell Ken Thompson 的 sh,第一种Unix Shell Bourne Again Shell(/bin/bash) Shell 脚本一般…

不懂 Attention 不算懂 AI?十大奠基论文(一):一文读懂《Attention Is All You Need》

摘要 《Attention Is All You Need》论文开创性地提出Transformer架构,彻底改变了自然语言处理领域的技术路径。该论文解决了传统RNN/CNN模型的三大痛点:通过自注意力机制实现全局语义捕捉,摆脱了序列处理的低效性;…

2025年直埋保温管供货厂家权威推荐榜单:热力管道/夹克保温管/预制直埋保温管源头厂家精选

在城镇集中供热管网与工业热能输送系统持续建设的推动下,直埋保温管作为保障热能高效、安全传输的核心部件,其市场需求稳步增长。据行业报告预测,未来几年中国预制直埋保温管市场将保持稳定发展态势。 直埋保温管凭…

2025上海专业防水补漏推荐!Top5口碑公司实测,先检测后施工有保障

随着建筑防水需求的不断升级,市场对专业防水补漏服务的要求日益严苛。本榜单基于技术实力、服务范围、施工质量和客户口碑四大维度,结合行业数据与用户反馈,对上海地区主流防水补漏企业进行综合评测,为消费者和企业…

PCBA方案设计——充气泵的工作原理是什么?

充气泵的核心工作原理是通过动力源驱动气体压缩机构,将低压气体压缩为高压气体,再通过管路输送至目标对象,实现充气;部分机型可反向工作完成抽气,本质是“气体的压力/容积转换”过程。一、核心工作流程(充气模式…