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

LeetCode 热题 100 -- 128、最长连续序列

OK呀码友们今天也没有忘记继续Java的学习持之以恒我相信一定是每一个计算机学生都具备的品质吧哈哈哈哈哈什么你问我昨天怎么没有更新哈哈只是因为我昨天没有刷算法题并不代表我没有学习哦好了废话不多说今天依旧是哈希相关的题目一起看看吧。1、分析题目题目不长就是给我们一个未排序的整数数组找出最长连续序列返回它的长度即可特别要求了咱们设计的算法时间复杂度要是O(N)这可能是这道题的难点所在那么接下来分析一下不过朋友们请注意我不是什么算法大神发帖子是为了教学大家最华丽最高端的算法手段我只是一个小白我只想记录分享一下我在写每一道算法题时的“历程”也许我的思路能给一些同为小白的码友一些启发不过如果觉得我的思路太菜了太业余了也轻点喷哈那么我们开始吧。我最终是用了两种思路解决了这道题目。2、第一种思路说实话一开始我真的一下子还一头雾水没有什么思路我只能剖析一下题目看看有没有什么突破口。我想到既然是要找连续的序列给定的数组又是未排序的那么要不试试排个序之后通过遍历的方式解决。其实有一定的代码深度的码友肯定发现不对劲了题目不是要求你时间复杂度O(N)吗你调用排序后不都最少O(Nlog(N))了吗是的没错我承认你说的对但是我先是想能解决了再说[嘿嘿]。排序后我的思路是遍历nums随后用一个HashMap存储连续序列的开头作为key值就是这段序列的长度。随后再遍历一遍HashMap找出最大长度并输出。以下是我的代码实现请各位大佬赏脸瞅瞅代码乍一眼看上去还是比较长的哈。我也是经历了几次报错后修修改改最终拿出的这个版本[哭]。遍历时思路大致就是如果遍历到数组中有重复的数要跳过也就是去重其实有更好的办法随后就是记录连续序列的长度不过要注意索引越界的条件限制我就踩了坑的最后存进HashMap即可。不过虽然测试是通过的但是其实是不符合条件的。虽然遍历部分的时间复杂度是O(N)但是我是排了序的排序的时间复杂度是O(Nlog(N))所以代码的最终时间复杂度就是O(Nlog(N))还得再想想其他算法以下贴上提交记录。3、第二种思路随后我又陷入了沉思[沉默.....]。相信大家也都看出来了排序肯定行不通并且去重的部分也可以优化。随后就想到了Set底层的数据结构决定了其天然去重。那么既然不能排序那就只能通过优化遍历思路来尝试解决问题了。我们想到如果某个数N作为一个连续序列的开头那么对应Set里面就不会有N-1这个数的存在并且哈希表的优点就包括查询速率快那么可以遍历时试试直接查询集合中是否包含比当前值小的数如果有那么就跳过当前循环如果一个数满足作为开头的条件了就开始计算序列的长度用一个变量记录当前的最大序列长度然后不断更新最后返回即可。以下是我的代码实现这套代码的时间复杂度是O(N)满足要求。代码也更少更简洁或者说是更优美难度也不高重要的是要有对应的解题思路下面贴上提交记录截图我其实有一个可能比较外行的问题哈为什么这套代码的时间复杂度是比第一套要低的但运行时间却更多一些呢不知道有没有大佬看到我的帖子愿意给我解答一下呢4、总结今天这道题呢给我的感觉就是具体的问题要选用针对性的解决方案由于之前两张帖子写的都是用HashMap让我思维出现了定式导致我一开始这道题也要用这个错过了最佳的选择这点算是今天吸取到的教训。针对哈希相关的题目应该是告一段落了接下来应该就是针对双指针的相关题目了希望能有码友多支持我我也希望能在csdn遇见更多的同行者一起进步后续我找实习、面试以及找到实习后我也会在帖子中进行一些分享下次再见啦

相关文章:

LeetCode 热题 100 -- 128、最长连续序列

OK呀码友们,今天也没有忘记继续Java的学习,持之以恒我相信一定是每一个计算机学生都具备的品质吧哈哈哈哈哈!什么?你问我昨天怎么没有更新,哈哈,只是因为我昨天没有刷算法题并不代表我没有学习哦&#xff0…...

从像素到智能:图像处理与计算机视觉全景解析

引言:视觉智能的两大支柱 计算机视觉的实现可以看作一个​多层次的处理管道​,底层是图像处理,上层是计算机视觉核心任务。这两者并非相互独立,而是相辅相成的技术体系:工具箱思维在这两个层面都有体现: ​…...

B2405LS-1WR3兼容优选DB1-24S05LS,工业模块电源性能解析

在工业自动化、仪器仪表、电力通信等领域,模块电源的稳定性与适配性直接决定了设备的运行效率与使用寿命,一款适配性强、性能可靠的电源模块,能为工业设备的长期稳定运行筑牢基础。广州钡源作为专注于高品质标准工业模块电源的企业&#xff0…...

中科院拒绝支付版面费的期刊名单!

中科院拒绝支付版面费的期刊名单来了,都是质量不错的期刊,总共34本。若没有足够预算的,注意避雷!√ 分布学科:医学23本生物学8本综合性期刊3本√ 分区和IF:中科院1-2区占比82.4%,IF>5分占比79.4%√ TOP期…...

NTU 提出 OrchMAS:动态多专家协同的科学推理多智能体框架

📌 一句话总结: 本工作提出 OrchMAS,一个通过动态角色生成与多模型协同编排(orchestration)实现复杂科学推理的多智能体框架,使系统能够根据任务自动构建推理流水线并持续自我修正。 🔍 背景问…...

【亲测好用】指标体系平台能力演示

导言 : 如果您作为一名产品运营,这也曾是您的困境吗?当销售总监追问“为什么这个季度转化率下降了”,当市场部需要立刻对比不同活动的ROI,如果还依赖技术团队临时写SQL、跑数据,决策的速度永远追不上业务的…...

tg内容下载

好主意!换用 Conda 是非常明智的决定。你遇到的这个报错 (externally-managed-environment) 是因为你的系统是较新的 Ubuntu 24.04 (Noble),它强制启用了 PEP 668 保护机制,禁止使用 pip 直接在全局修改系统级的 Python 环境,以防…...

B端拓客号码核验:困境剖析与技术破局路径氪迹科技法人股东号码核验系统

在B端客户拓展的全流程中,企业法人、股东及核心决策人号码的核验与筛选,是直接影响拓客成效的关键一环,也是众多拓客团队普遍面临的突出难题。随着行业竞争加剧,拓客模式逐渐向规模化、精细化转型,人工手动筛选号码的低…...

欧意下载okxz.run复制打开 APP下载安装完整步骤

欧意下载okxz.run复制打开 APP下载安装完整步骤1987年9月15日晚上19 - 21点出生的人,其性格往往融合了热情与内敛。热情使他们在社交场合中如鱼得水,能迅速与他人建立起良好的关系,积极主动地参与各种活动,展现出活力四射的一面。…...

吐血整理!网络安全基础知识大全,一篇文章帮你建立完整知识体系

一、网络安全概述 1.1 定义 **信息安全:**为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。 网络安全: 防止未授权的用户访问信息防止未授权而试图破坏与修改信息 1.2 信息安…...

【26年软考架构师】位示图经典困难计算题超详细解析(含避坑点)

前言:软考架构师考试中,磁盘管理的位示图计算题是高频难点题型。这类题目看似计算量不大,但因涉及存储单位进制转换、0开始编号规则、字/位/字节的概念混淆等细节,极易踩坑成为丢分点。本文针对位示图的经典真题,从原题…...

Gemini3 AI辅助教学,轻松实现各种教学课件!

小伙们,今天我们来分享如何利用gemini3 pro 一句话实现教学课件打开google ai studio选择build模式输入提示词:做个可交互网页,演示串并联电路,要有SVG 动画,带公式,要有文字讲解,还要有个 AI 助…...

万字长文详解网络安全知识库:从零基础到入门必备指南

一、网络安全概述 1.1 定义 **信息安全:**为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。 网络安全: 防止未授权的用户访问信息防止未授权而试图破坏与修改信息 1.2 信息安…...

字母异位词(哈希映射法)

题目字母异位词是指:两个字符串所含的字符种类与每种字符的数量完全相同,仅字符的排列顺序不同。 例如:aabc,baac,cbaa这三个字符串互为字母异位词。 给定n个仅由小写英文字母组成的字符串,请统计其中共有多…...

文科生小白入门AI量化:每天2小时,3个月跑通人生第一个LSTM模型

这是《AI量化学习手记》系列的第一篇文章。在这个系列里,我会以学习者的视角,记录从零开始学AI量化的真实经历——踩过的坑、填过的土、试过的方法、翻过的车。不讲大道理,只分享真问题。今天这篇,是我入门3个月的真实复盘&#x…...

阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”

阿里云 AI 中间件重磅发布:打通 AI 应用落地“最后一公里” 阿里云近期发布的 AI 中间件旨在解决 AI 应用落地中的关键问题,包括模型部署、性能优化、资源管理和服务集成。这一中间件通过标准化接口和工具链,显著降低了 AI 从开发到生产的门槛…...

告别“在我机器上能跑”:Docker 容器化入门,小白也能秒懂!

告别“在我机器上能跑”:Docker 容器化入门,小白也能秒懂! 各位在代码的海洋里扑腾(或者溺水)的朋友们,大家好! 我是你们的老朋友,那个在键盘上敲击出无数个 bug(哦不&…...

CSV 数据文件设置的使用

打开 JMeter → 新建测试计划 → 添加 线程组。右键线程组 → 添加 → 配置元件 → CSV 数据文件设置。核心配置项(按界面顺序):表格配置项说明常用设置文件名CSV 文件路径(绝对 / 相对)推荐相对路径:./dat…...

充电桩小程序开发全解析(技术实操+架构设计+合规指南)

随着新能源汽车保有量激增,充电设施供需矛盾日益突出,充电桩小程序凭借“轻量化操作、智能管控、高效适配”的优势,成为连接用户、运营商与充电桩设备的核心载体,也是当前新能源赛道的热门开发方向。不同于普通服务类小程序&#…...

算法刷题 JavaScript 工具手册

文章目录 算法刷题 JavaScript 工具手册一、Array 数组常用操作1.1 尾部插入或者删除元素 push / pop1.2 头部插入或者删除元素 unshift/shift1.3 返回一个新数组 map1.4 过滤数组filter1.5 把数组压缩成一个值reduce1.6 原数组就地排序sort1.7 从数组中截取一段并返回新数组 s…...

Visual StudioProfiler对工作流进行热点分析

热点:消耗了绝大部分CPU计算时间(例如超过50%或更高比例)的那部分代码。Visual Studio 中,使用性能探查器(Profiler)在 Visual Studio 中,使用性能探查器(Profiler)进行热…...

bash: mysql: 未找到命令

永久生效(添加到环境变量,推荐)步骤 1:编辑环境变量配置文件bash运行# 编辑~/.bashrc(仅当前用户生效),或/etc/profile(所有用户生效) vim ~/.bashrc步骤 2:添…...

欧意下载okxz.run复制打开 最新地址分享(安卓苹果通用)

欧意下载okxz.run复制打开 最新地址分享(安卓苹果通用)1983年8月18日中午11 - 13点出生的人,其性格、运势与命运有着独特的轨迹。在这个特定的时空点降临世间,他们带着彼时星辰赋予的特质,开启了人生之旅。这类人往往性…...

Java毕业设计基于SpringBoot的中药材管理系统25853136

前言 基于Spring Boot的中药材管理系统适用于中药材企业、中药材批发市场、中药材种植基地等场景,可以满足企业对中药材从采购、入库、存储到销售全过程的管理需求。同时,该系统还可以通过扩展和定制来满足企业的特定需求,如集成更多的支付接…...

动态规划-

斐波那契数列class Solution {public int fib(int n) {int [] nums new int [n1];if (n < 1) {return n;}nums[0]0;nums[1]1;for(int i2;i<n1;i){nums[i]nums[i-1]nums[i-2];}return nums[n];} }爬楼梯class Solution { public int climbStairs(int n) {int[] dp new in…...

英伟达GTC 2026“芯片全家桶”震撼登场,微美全息构建全栈算力创新体系迎风而上

据消息&#xff0c;北京时间 3 月 17 日凌晨&#xff0c;被誉为“AI界春晚”的英伟达&#xff08;NVDA.US&#xff09;GTC大会正式启幕。芯片全家桶上线作为全球 AI 产业受关注的年度时刻之一&#xff0c;今年GTC大会&#xff0c;除AI智能体平台、Rubin Ultra芯片等新技术、新产…...

使用Jsoup爬取豆瓣电影Top250(附Java代码)

在日常开发中&#xff0c;我们经常需要从网页上获取数据&#xff0c;而手动复制粘贴显然太低效。今天我们就来学习如何使用Java的Jsoup库&#xff0c;快速爬取豆瓣电影Top250的片名和评分&#xff0c;只需几十行代码就能搞定。 一、Jsoup简介 Jsoup 是一个开源的Java HTML解析…...

ABB机器人仿真工作站:超便捷教学实训平台

ABB机器人仿真工作站&#xff0c;教学实训平台&#xff0c;提供软件的时候全部模型&#xff0c;压缩成工作站文件&#xff0c;解压即可使用。 提供的是工作站的全部模型。最近发现了一个超赞的ABB机器人仿真工作站教学实训平台&#xff0c;必须来和大家分享一下。对于学习机器人…...

计算其中最大连续 1 的个数

题目给定一个二进制数组 nums &#xff0c; 计算其中最大连续 1 的个数。示例 1&#xff1a;输入&#xff1a;nums [1,1,0,1,1,1] 输出&#xff1a;3 解释&#xff1a;开头的两位和最后的三位都是连续 1 &#xff0c;所以最大连续 1 的个数是 3.示例 2:输入&#xff1a;nums …...

Linux系统基础认知

作为学习者&#xff0c;我仅将所学知识进行系统梳理和总结。如有任何疏漏或错误&#xff0c;敬请指正Linux系统基础认知核心概念内核与发行版 Linux内核是系统的核心组件&#xff0c;由林纳斯托瓦兹于1991年开发。发行版是“内核配套软件”的完整系统&#xff0c;例如Ubuntu、K…...