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

LeetCode 每日一题笔记 日期:2026.05.19 题目:2540. 最小公共值

LeetCode 每日一题笔记0. 前言日期2026.05.19题目2540. 最小公共值难度简单标签数组、双指针、哈希表1. 题目理解问题描述给定两个按非降序排序的整数数组nums1和nums2请返回它们的最小公共整数。如果不存在公共整数则返回-1。示例输入nums1 [1,2,3],nums2 [2,4]输出2解释两个数组的最小公共元素是 2。输入nums1 [1,2,3,6],nums2 [2,3,4,5]输出2解释两个数组的公共元素是 2 和 3其中 2 是较小值。2. 解题思路核心观察两数组已按非降序排序可使用双指针高效遍历类似归并排序的合并过程利用数组的有序性只需一次遍历即可找到第一个公共元素即最小公共值也可使用哈希表但会牺牲有序性带来的性能优势且空间复杂度更高。算法步骤初始化双指针i和j分别指向nums1和nums2的起始位置比较nums1[i]和nums2[j]若相等直接返回该值有序数组中第一个相等值即为最小值若nums1[i] nums2[j]移动j指针若nums1[i] nums2[j]移动i指针遍历结束未找到公共值返回-1。3. 代码实现packagelc2540;importjava.util.HashSet;publicclassSolution{publicintgetCommon(int[]nums1,int[]nums2){HashSetIntegersetnewHashSet();if(nums1.lengthnums2.length){for(intnum:nums2){set.add(num);}for(intnum:nums1){if(set.contains(num)){returnnum;}}}else{for(intnum:nums1){set.add(num);}for(intnum:nums1){if(set.contains(num)){returnnum;}}}return-1;}}4. 代码优化说明减少了分支判断直接利用双指针遍历有序数组避免了哈希表的额外空间开销代码更简洁高效packagelc2540;publicclassSolution{publicintgetCommon(int[]nums1,int[]nums2){inti0,j0;while(inums1.lengthjnums2.length){if(nums1[i]nums2[j]){returnnums1[i];}if(nums1[i]nums2[j]){i;}else{j;}}return-1;}}5. 复杂度分析时间复杂度O(nm)O(n m)O(nm)双指针遍历两个数组每个元素最多被访问一次。空间复杂度O(1)O(1)O(1)仅使用常数级额外空间无哈希表等数据结构开销。6. 总结核心思路是双指针遍历有序数组利用数组的非降序特性直接找到第一个公共元素优化后的双指针解法时间和空间复杂度均优于哈希表解法是本题最优方案关键技巧有序数组的双指针遍历是解决此类问题的经典方法避免了额外的空间开销和分支判断。

相关文章:

LeetCode 每日一题笔记 日期:2026.05.19 题目:2540. 最小公共值

LeetCode 每日一题笔记 0. 前言 日期:2026.05.19题目:2540. 最小公共值难度:简单标签:数组、双指针、哈希表 1. 题目理解 问题描述: 给定两个按非降序排序的整数数组 nums1 和 nums2,请返回它们的最小公共整…...

限时公开!Perplexity内部图书语义索引机制解析(含ISBN/DOI/学科标签三级权重算法)

更多请点击: https://intelliparadigm.com 第一章:限时公开!Perplexity内部图书语义索引机制解析(含ISBN/DOI/学科标签三级权重算法) Perplexity 的图书知识图谱并非依赖传统全文倒排索引,而是构建于一套动…...

TS9580,TS3440,TS3400,G3000,G1810,G2810,G3810,G4810,TS9020,TS9120报错5B00,P07,E08,1700,5b04废墨垫清零,亲测有用。

下载:点这里下载 备用下载:https://pan.baidu.com/s/1WrPFvdV8sq-qI3_NgO2EvA?pwd0000 常见型号如下: G系列 G1000、G1100、G1200、G1400、G1500、G1800、G1900、G1010、G1110、G1120、G1410、G1420、G1411、G1510、G1520、G1810、G1820、…...

3步轻松延长JetBrains IDE评估期:开源工具让你的开发体验永不停歇

3步轻松延长JetBrains IDE评估期:开源工具让你的开发体验永不停歇 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 还在为JetBrains IDE评估期结束而烦恼吗?作为开发者,我们经常…...

别再死记硬背了!用Pointer Network让AI学会‘抄作业’,搞定文本摘要和对话生成

别再死记硬背了!用Pointer Network让AI学会‘抄作业’,搞定文本摘要和对话生成 想象一下,当你面对一篇冗长的技术文档时,最有效的学习方法是什么?不是逐字背诵,而是用荧光笔划出关键概念——这正是Pointer …...

2025最新易支付模板源码 全开源 前台+用户中心+后台三合一

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 2025最新易支付模板源码 全开源 前台用户中心后台三合一 二、效果展示 1.部分代码 代码如下(示例): case orderList:$sql" 11";if(isse…...

枚举进阶:从常量集合到业务逻辑承载者的实战扩展技巧

1. 项目概述:从“能用”到“好用”的枚举进阶之路在软件开发中,枚举(Enum)是我们再熟悉不过的基础工具了。它把一组有限的、具名的常量组织在一起,让代码意图更清晰,避免“魔法数字”满天飞。但不知道你有没…...

AI一键生成微信红包封面系统源码

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 AI微信红包封面生成器源码是一款开源的微信红包封面生成工具,由前腾讯微信后台开发工程师「idoubi」开发并开源。项目名为“AI Cover”,旨在利用人工智能技术为用…...

嵌入式边缘AI论坛参会全攻略:从技术趋势到实战社交

1. 论坛核心价值与参会目标拆解“6天倒计时!”这个标题,精准地抓住了所有技术从业者在面对一个高价值行业活动时,那种既兴奋又略带紧迫感的共同心理。这不仅仅是一个简单的会议通知,它更像是一份来自同行的“战前简报”。对于嵌入…...

桌面Z箍缩实验:从等离子体原理到聚变中子探测的DIY实践

1. 项目概述:从“人造太阳”到桌面实验的能源狂想“如何通过聚变制造能源及如何实现”,这个标题背后,是无数工程师和科学家为之奋斗终身的终极能源梦想。它听起来宏大得像是国家实验室的专属课题,但今天我想从一个更接地气的、带有…...

MSP430单片机低功耗设计实战:从架构到代码的灵活性解析

1. 项目概述:为什么是MSP430?如果你在嵌入式领域摸爬滚打了一段时间,尤其是在对功耗极其敏感的应用场景里,比如智能穿戴、便携医疗设备、无线传感器网络或者那些需要电池供电数年的工业传感器,那么“MSP430”这个名字对…...

RTOS任务通知:轻量级通信机制的原理、应用与性能优化

1. 项目概述:为什么RTOS应用需要“任务通知”在嵌入式实时操作系统(RTOS)的世界里,任务间的通信与同步是决定系统效率、响应速度和稳定性的基石。传统的通信机制,如信号量、消息队列、事件标志组,我们早已驾…...

芯片时钟树设计实战:平衡性能、功耗与鲁棒性的后端工程指南

1. 项目概述:从“动脉”视角理解时钟树在芯片设计的浩瀚世界里,时钟信号就像是整个系统的“动脉”。它不负责输送数据,但负责为所有逻辑单元提供统一的“心跳”节拍。没有稳定、同步的心跳,再强大的计算单元也会陷入混乱。我们常说…...

ArcGIS 10.2也能用天地图!手把手教你用WMTS服务和lyr文件搞定低版本兼容

ArcGIS 10.2兼容天地图WMTS服务的工程级解决方案 在GIS项目实施过程中,我们常常会遇到软件版本滞后于服务更新的尴尬局面。天地图作为国内权威的地理信息服务,自2019年起仅支持ArcGIS 10.6及以上版本直接加载,这对仍在使用ArcGIS 10.2/10.3等…...

TDD 工作流深度实践:测试驱动开发遇上 AI 智能体

作者注:本文基于 ECC 项目的 TDD 工作流 Skill,展示如何在 AI 编码助手的辅助下严格执行测试驱动开发。项目开源地址:github.com/affaan-m/ECC摘要 测试驱动开发(TDD)是保障代码质量的金标准,但在实际落地中…...

保姆级教程:在Ubuntu 22.04上搞定DCU-Z100(ZiFang)驱动安装与验证

保姆级教程:在Ubuntu 22.04上搞定DCU-Z100(ZiFang)驱动安装与验证 国产DCU(Deep Computing Unit)正逐渐成为高性能计算领域的新选择,而DCU-Z100(代号ZiFang)作为其中的代表产品&…...

B站缓存视频无损转换终极指南:3步快速上手m4s-converter开源工具

B站缓存视频无损转换终极指南:3步快速上手m4s-converter开源工具 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾为B站缓存视…...

实用指南:3分钟在Windows中解锁iPhone HEIC照片缩略图预览

实用指南:3分钟在Windows中解锁iPhone HEIC照片缩略图预览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 还在为iPh…...

从地图导航到推荐系统:欧式距离在真实业务场景中的Python应用避坑指南

从地图导航到推荐系统:欧式距离在真实业务场景中的Python应用避坑指南 当你在外卖App上查看"3公里内的餐厅",或在电商平台看到"相似用户还买了"的推荐时,背后可能都在使用同一个数学工具——欧式距离。这个看似简单的距离…...

告别打包失败!Matlab开发者必看:Runtime版本精准匹配与离线部署全攻略

MATLAB Runtime精准匹配与离线部署实战指南 当MATLAB开发者遭遇Runtime版本陷阱 深夜的办公室里,王工程师盯着屏幕上第7次打包失败的红色错误提示,揉了揉酸胀的眼睛。这个场景对许多MATLAB开发者来说并不陌生——明明在自己的R2022b Update 3环境中完美运…...

车道线检测入门:从CULane数据集结构到模型训练(PyTorch实战)

车道线检测实战:从CULane数据集解析到PyTorch模型训练全流程 1. 理解CULane数据集的核心价值 车道线检测作为自动驾驶感知层的关键技术,其性能高度依赖高质量的数据集。CULane凭借其复杂城市道路场景和精细标注,已成为该领域的基准测试集之一…...

别再傻傻等下载了!QMT历史数据获取的3个高效技巧(含xtquant代码示例)

QMT历史数据获取效率优化实战:3个让回测提速200%的高级技巧 每次打开QMT准备回测策略时,最让人抓狂的莫过于漫长的历史数据等待时间。作为一名量化研究员,我曾在数据准备环节浪费了无数个下午——直到发现这几个能彻底改变工作流的技巧。本文…...

告别通用OCR:如何用PaddleOCR针对银行卡场景做定制化检测模型优化?

告别通用OCR:如何用PaddleOCR针对银行卡场景做定制化检测模型优化? 银行卡识别一直是金融科技领域的高频需求,但通用OCR模型在应对银行卡这类特殊场景时往往力不从心。我曾参与过多个银行的移动端项目,亲眼见证过通用模型在识别卡…...

告别玄学调试:用示波器‘看透’开关电源的十大常见故障波形

告别玄学调试:用示波器‘看透’开关电源的十大常见故障波形 实验室里,工程师们常把开关电源调试戏称为"玄学"——参数微调、元件更换、反复试错,往往耗费数小时仍找不到问题根源。这种低效的调试方式即将成为历史。本文将彻底改变你…...

别再凭感觉布线了!用ADS仿真手把手教你搞定PCB信号完整性的5种端接方案

高速PCB设计实战:5种端接方案在ADS中的精准仿真与选型指南 当你在深夜盯着示波器上扭曲的方波和顽固的振铃时,是否曾怀疑过自己的PCB设计生涯?信号完整性不是玄学,而是一门可以通过仿真精确控制的工程艺术。本文将用Keysight ADS&…...

效率翻倍!深度挖掘CANoe那些被忽略的宝藏功能:Layout同步、Favorites收藏与Write窗口妙用

效率翻倍!深度挖掘CANoe那些被忽略的宝藏功能:Layout同步、Favorites收藏与Write窗口妙用 在汽车电子测试领域,CANoe作为行业标杆工具,其核心功能如总线仿真、诊断测试等早已被工程师们熟练掌握。但鲜为人知的是,那些隐…...

如何无限期免费使用IDM:智能试用期重置完整指南

如何无限期免费使用IDM:智能试用期重置完整指南 【免费下载链接】idm-trial-reset Use IDM forever without cracking 项目地址: https://gitcode.com/gh_mirrors/id/idm-trial-reset 你是否为Internet Download Manager(IDM)的30天试…...

如何3步解决Mac NTFS读写难题:Nigate终极免费开源方案

如何3步解决Mac NTFS读写难题:Nigate终极免费开源方案 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management fo…...

HCV NS4A Protein (22-34) (H strain) ;CVVIVGRVVLSGLK

一、基础信息多肽名称:丙型肝炎病毒 NS4A 蛋白片段 (22-34) H 株英文:HCV NS4A Protein (22-34) (H strain)三字母序列:Cys-Val-Val-Ile-Val-Gly-Arg-Val-Val-Leu-Ser-Gly-Lys单字母序列:CVVIVGRVVLSGLK氨基酸数量:13 …...

Head Activator ;pPPGGSKVILF

一、基础信息多肽名称:头部激活因子三字母序列:Pyr-Pro-Pro-Gly-Gly-Ser-Lys-Val-Ile-Leu-Phe单字母序列:pPPGGSKVILF氨基酸数量:11 aa分子式:C54H84N12O14分子量:1125.34结构特征:N 端 Pyr&…...