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

LeetCode 热题100(JAVA)

LeetCode 热题100JAVA哈希1. 两数之和给定一个整数数组 nums和一个整数目标值 target请你在该数组中找出 和为目标值 target 的那两个整数 并返回它们的数组下标。 你可以假设每种输入只会对应一个答案并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1 输入nums [2,7,11,15], target 9 输出[0,1] 解释因为 nums[0] nums[1] 9 返回 [0, 1] 。 示例 2 输入nums [3,2,4], target 6 输出[1,2] 示例 3 输入nums [3,3], target 6 输出[0,1]暴力解法classSolution{publicint[]twoSum(int[]nums,inttarget){intnnums.length;for(inti0;in;i){//1.避免重复使用同一个元素 2.避免重复计算同一对数for(intji1;jn;j){if(nums[i]nums[j]target){returnnewint[]{i,j};}}}/*等同于 int[] arr new int[2]; arr[0] i; arr[1] j; return arr;*/returnnewint[]{-1,-1};}}HashMap核心思想遍历当前元素时在 HashMap 中查找“我需要的另一个数”是否已经出现过如果出现过就直接返回答案否则把当前元素存起来。目标nums[i] nums[j] target如果当前数是 x那我需要找的另一个数是target - xHashMapInteger, IntegerKey(键)数组中某个数 Value值这个数的下标例如nums [2, 7, 11, 15]{2 - 0}importjava.util.HashMap;classSolution{publicint[]twoSum(int[]nums,inttarget){// 创建 HashMap// key - 数组中的值// value - 该值对应的下标HashMapInteger,IntegermapnewHashMap();// 一次遍历数组i 是当前元素的下标for(inti0;inums.length;i){// 当前遍历到的元素值intnumnums[i];// 计算还需要的那个数使得// num need targetintneedtarget-num;// containsKey判断 HashMap 中是否已经存在 need// 如果存在说明之前遍历过的某个数 当前数 targetif(map.containsKey(need)){// 通过 keyneed拿到它对应的下标intindexmap.get(need);returnnewint[]{index,i};}// 如果没找到需要的数// 把当前数和它的下标存入 HashMap// 供后续元素查找map.put(num,i);}returnnewint[0];}}2.字母异位词分组给你一个字符串数组请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 示例 1: 输入: strs [eat, tea, tan, ate, nat, bat] 输出: [[bat],[nat,tan],[ate,eat,tea]] 解释 在 strs 中没有字符串可以通过重新排列来形成 bat。 字符串 nat 和 tan 是字母异位词因为它们可以重新排列以形成彼此。 字符串 ate eat 和 tea 是字母异位词因为它们可以重新排列以形成彼此。 示例 2: 输入: strs [] 输出: [[]] 示例 3: 输入: strs [a] 输出: [[a]]思想找分类标准给每个字符串找一个标识只要两个字符串的标识一样它们就应该进同一组。classSolution{publicListListStringgroupAnagrams(String[]strs){MapString,ListStringmapnewHashMap();/*遍历 语法结构:for (元素类型 变量名 : 可迭代对象/数组) 不用下标直接一个个取元素。 */for(String str:strs){//字符串转换为字符数组char[]charsstr.toCharArry();Arrays.sort(chars);//排序后结果作为key 标识String keynewString(chars);//如果这个 key 还没有对应的列表就先创建if(!map.containsKey(key)){map.put(key,newArrayList())}map.get(key).add(str);}returnnewArrayList(map.values());}}3.最长连续序列给定一个未排序的整数数组 nums 找出数字连续的最长序列不要求序列元素在原数组中连续的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1 输入nums [100,4,200,1,3,2] 输出4 解释最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。 示例 2 输入nums [0,3,7,2,5,8,4,6,0,1] 输出9 示例 3 输入nums [1,0,1,2] 输出3思想题目本质给你一个无序数组要你找最长的“值连续”的序列长度。不要求数组原位置连续。解法思路1把所有数组元素放入HashSet中。2遍历每个元素。3如果数组元素num - 1 不存在说明它是起点从这个起点开始不断查 num 1, num 2 …4统计这一段长度更新最大值。classSolution{publicintlongestConsecutive(int[]nums){// 1. 先把所有数字放进 HashSet方便 O(1) 查询同时自动去重HashSetIntegersetnewHashSet();for(int num:nums){set.add(num);}int maxLen0;// 2. 遍历集合中的每个数字for(int num:set){// 3. 只有当前数字是连续序列起点时才开始往后扩展if(!set.contains(num-1)){int currentNumnum;int currentLen1;// 4. 不断查找下一个连续数字while(set.contains(currentNum1)){currentNum;currentLen;}// 5. 更新最长长度maxLenMath.max(maxLen,currentLen);}}returnmaxLen;}}

相关文章:

LeetCode 热题100(JAVA)

LeetCode 热题100(JAVA) 哈希 1. 两数之和 给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数, 并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不…...

如何让你的10美元鼠标秒变Mac神器?Mac Mouse Fix终极指南

如何让你的10美元鼠标秒变Mac神器?Mac Mouse Fix终极指南 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 还在为Mac上的第三方鼠标发…...

颠覆传统窗口管理:WindowResizer让桌面布局掌控自如

颠覆传统窗口管理:WindowResizer让桌面布局掌控自如 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 你是否曾遇到过这些令人沮丧的场景?精心设计的多显示器…...

像素剧本圣殿参数详解:Qwen2.5-14B-Instruct在长剧本生成中的上下文连贯性保障

像素剧本圣殿参数详解:Qwen2.5-14B-Instruct在长剧本生成中的上下文连贯性保障 1. 专业剧本创作工具的核心挑战 在影视剧本创作领域,维持长篇叙事的连贯性一直是创作者面临的核心难题。传统剧本写作过程中,编剧需要不断回溯前文细节&#x…...

Python flask django框架的社区残障人士服务平台的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商功能模块设计用户管理模块服务匹配模块无障碍交互模块社区支持模块数据安全与后台管理技术实现要点Flask/Django选型对比数据库设计关键API示例(Django)无障碍前端适配部署与扩展项目技术支持源码获取详细视频…...

Godot解包工具完整指南:3分钟提取游戏资源

Godot解包工具完整指南:3分钟提取游戏资源 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker godot-unpacker 是一个专为Godot游戏引擎设计的资源解包工具,能够快速提取非加密的…...

Python flask django框架的医疗问诊拿药系统

目录同行可拿货,招校园代理 ,本人源头供货商功能分析:基于Flask/Django的医疗问诊拿药系统核心模块划分技术实现要点数据安全与合规扩展性设计项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 …...

保姆级教程:2024最新CUDA12.4+Pytorch2.5.1环境配置(附CUDAnn9.5避坑指南)

2024深度学习环境搭建实战:CUDA 12.4与PyTorch 2.5.1完美配置手册 刚接触深度学习的开发者们,是否曾被环境配置的各种报错折磨到怀疑人生?显卡驱动版本冲突、CUDA与PyTorch版本不匹配、环境变量配置错误……这些问题就像拦路虎,让…...

突破Cursor AI限制:免费畅享Pro功能的完整指南

突破Cursor AI限制:免费畅享Pro功能的完整指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial requ…...

Neeshck-Z-lmage_LYX_v2应用落地:国风插画师本地AI绘画工作流搭建

Neeshck-Z-lmage_LYX_v2应用落地:国风插画师本地AI绘画工作流搭建 想成为一名国风插画师,但苦于绘画技巧需要长期积累?或者,你已经是一位创作者,却常常被灵感枯竭和重复性工作所困扰?今天,我将…...

内网开发不求人:保姆级教程搞定Visual Studio 2022与QT 5.12.12离线环境搭建

内网开发不求人:保姆级教程搞定Visual Studio 2022与QT 5.12.12离线环境搭建 在企业内网开发环境中,由于安全规定或网络限制,开发者常常面临无法连接互联网的困境。这种情况下,如何一次性、完整地部署C与QT开发环境成为许多IT支持…...

Element UI Radio组件多选换行终极解决方案(附完整代码示例)

Element UI Radio组件多选换行终极解决方案(附完整代码示例) 在企业级后台管理系统开发中,表单控件的美观性和功能性同样重要。Element UI作为Vue.js生态中广泛使用的组件库,其Radio组件在多选场景下的换行问题常常困扰开发者。本…...

如何用VR-Reversal免费将3D视频转为2D:新手也能轻松探索VR世界

如何用VR-Reversal免费将3D视频转为2D:新手也能轻松探索VR世界 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.c…...

OpenClaw备份策略:保障SecGPT-14B自动化任务不间断运行

OpenClaw备份策略:保障SecGPT-14B自动化任务不间断运行 1. 为什么需要备份策略? 去年冬天的一个深夜,我的OpenClaw自动化任务突然崩溃了。当时正在执行一个关键的网络安全日志分析任务,SecGPT-14B模型已经连续工作了6个小时&…...

稳定性与生态性的平衡:Windows 11 LTSC系统微软商店完整解决方案

稳定性与生态性的平衡:Windows 11 LTSC系统微软商店完整解决方案 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore Windows 11 LTSC&#xf…...

AnimateDiff问题解决手册:常见生成问题与提示词调整方案

AnimateDiff问题解决手册:常见生成问题与提示词调整方案 1. 常见视频生成问题诊断 1.1 视频卡顿或跳帧问题 当生成的视频出现卡顿或帧间不连贯时,通常与以下因素有关: 显存不足:虽然优化版最低支持8G显存,但复杂场…...

完全掌控:揭秘G-Helper如何解决华硕笔记本散热与性能调节难题

完全掌控:揭秘G-Helper如何解决华硕笔记本散热与性能调节难题 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, St…...

OpenClaw+SecGPT-14B技能扩展:自动化渗透测试报告生成

OpenClawSecGPT-14B技能扩展:自动化渗透测试报告生成 1. 为什么需要自动化渗透测试报告 每次红队演练结束后,最让我头疼的就是整理渗透测试报告。传统流程需要手动整理Nmap扫描结果、Burp Suite截图、漏洞验证步骤,再粘贴到Word模板里调整格…...

光伏电站正在“看不见”地亏钱:峰值报不准、爬坡跟不上、回落抓不住,问题到底出在哪?

关键词: 光伏功率预测、新能源功率预测、电力现货交易、爬坡事件、辐照度预测2026年的春天,光伏电站的运营者们发现了一个越来越尴尬的现象:设备越换越高效,组件越装越密,电表转得越来越快——但月底一算账&#xff0c…...

Qwen3-VL-8B-Instruct-GGUF效果展示:医疗报告图识别、工业零件缺陷描述、手写公式解析

Qwen3-VL-8B-Instruct-GGUF效果展示:医疗报告图识别、工业零件缺陷描述、手写公式解析 想象一下,你手头有一张复杂的医疗影像报告,上面布满了各种图表和标注;或者你面前是一个需要质检的工业零件,得找出上面细微的划痕…...

Cisco Unified Communications Manager (CallManager) 15 SU4a - 统一通信与协作

Cisco Unified Communications Manager (CallManager) 15 SU4a - 统一通信与协作 思科统一通信管理器 (CallManager) 请访问原文链接:https://sysin.org/blog/cisco-ucm-15/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 思…...

无需安装claude code,在快马平台5分钟构建你的第一个代码生成器原型

最近在研究代码生成工具时,发现Claude Code这个新兴项目挺有意思的。它能够根据自然语言描述生成对应的代码,对于快速原型开发特别有帮助。不过在实际尝试时,我发现本地安装配置过程有点麻烦,需要处理各种环境依赖和版本兼容问题。…...

OpenClaw健康检查:Qwen3-32B镜像长期运行的资源监控方案

OpenClaw健康检查:Qwen3-32B镜像长期运行的资源监控方案 1. 为什么需要健康检查? 去年冬天的一个深夜,我的OpenClaw自动化脚本突然停止了工作。第二天早上才发现,原来是Qwen3-32B模型进程因为显存泄漏悄悄崩溃了。这次事故让我意…...

Qwen3-TTS-Tokenizer-12Hz优化技巧:如何提升语音压缩与重建速度?

Qwen3-TTS-Tokenizer-12Hz优化技巧:如何提升语音压缩与重建速度? 1. 理解Qwen3-TTS-Tokenizer-12Hz的核心优势 1.1 超低采样率带来的效率革命 Qwen3-TTS-Tokenizer-12Hz最显著的特点是12Hz的超低采样率。这意味着: 传统音频处理通常使用1…...

Qt for Android串口通信实战:usb-serial-for-android库的完整集成指南

Qt for Android串口通信实战:usb-serial-for-android库的完整集成指南 在工业控制、物联网设备调试等场景中,串口通信仍然是设备间可靠数据传输的首选方案。当我们需要在Android设备上通过Qt框架实现串口通信时,却发现Qt官方并未提供原生的A…...

STM32实战:光敏电阻传感器从原理到智能应用

1. 光敏电阻与STM32的完美邂逅 第一次接触光敏电阻时,我完全被这个小东西迷住了。它就像电子世界的"眼睛",能感知光线的强弱变化。记得当时我用万用表测量它的阻值,看着数值随着手电筒的远近而变化,那种感觉就像发现了新…...

避开这3个坑,你的LVGL界面动画才能流畅不卡顿:定时器使用避坑指南

避开这3个坑,你的LVGL界面动画才能流畅不卡顿:定时器使用避坑指南 在嵌入式GUI开发中,流畅的动画效果往往能大幅提升用户体验。但很多开发者在使用LVGL定时器实现动画时,常会遇到界面卡顿、响应迟缓的问题。这通常不是LVGL本身的问…...

HTML转Figma工具革新:从网页到设计稿的无缝转换技术指南

HTML转Figma工具革新:从网页到设计稿的无缝转换技术指南 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 一、价值定位:为什么HTML转Figma是设计开发协作的…...

Win11Debloat:一键清理Windows臃肿,让系统重获新生

Win11Debloat:一键清理Windows臃肿,让系统重获新生 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutte…...

AI赋能:在快马平台集成智能模型打造vc16188视频分析应用

AI赋能:在快马平台集成智能模型打造vc16188视频分析应用 最近在做一个视频内容分析的小项目,发现用AI辅助开发真的能省不少事。特别是结合InsCode(快马)平台的内置AI模型,可以快速实现一些智能分析功能。下面分享下我是怎么用这个平台搭建一…...