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

【哈希】LC 128.最长连续序列

文章目录

  • 前言
  • 一、题目
    • 1、原题链接
    • 2、题目描述
  • 二、个人思路整理
    • 1、思路分析
    • 2、解题代码
  • 三、知识风暴

前言

本专栏文章为《LeetCode 热题 100》的刷题题解,相关内容如有侵权,立即删除。

一、题目

1、原题链接

128.最长连续序列

2、题目描述

二、个人思路整理

1、思路分析

思路参考最长连续序列、两个关键优化,O(n) 时间复杂度(Python/Java/C++/C/Go/JS/Rust)、https://leetcode.cn/problems/longest-consecutive-sequence/solutions/276931/zui-chang-lian-xu-xu-lie-by-leetcode-solution/comments/2283513/

  1. 此题复杂度限制在O(n),因此不能使用排序(快排复杂度为O(nlogn)超出题目复杂度要求);
  2. 所以需要换一种思路,核心就是快速判断数组中的每个元素是否可能是某一个连续序列的起点(开头)元素(快速判断想到利用哈希表),如果可能是则进行遍历,查找后续递增元素是否存在;若一定不是,则直接跳过后续步骤,进行数组中下一个元素的判断。
  3. 如何进行判断数组中的元素是否可能是最长连续序列的开头元素呢?
  • 先说不可能的情况:当遍历到的元素值为i但数组中存在i-1,那么说明当前元素就没有必要进行后续递增序列的计算(因为以i-1开头的序列一定要比以i开头的序列要长,不论这个以i-1开头的连续序列长度是先与以i开头的连续序列长度计算的还是迟于它,最终当前以i开头计算出的连续序列的最大长度都会被更新,所以这种情况没有必要再对以i开头的连续序列长度的计算);
  • 排除上述不可能情况,其他情况都有可能,咱们需要依次计算以其他元素开头的连续序列的长度,然后最终得到最大的长度。
  1. 由于原数组可能存在重复元素,所以我们需要去重后再进行计算,以减低算法复杂度。

2、解题代码

classSolution{public:intlongestConsecutive(vector<int>&nums){unordered_set<int>s;intmax_len=0;//记录全局最大长度for(autonum:nums){s.insert(num);}for(autoi:s){if(s.count(i-1))continue;//如果i-1存在,说明i不是起点,跳过计算//如果找到一个起点,计算以这个起点开始的序列长度inttmp=i+1;intcur_len=1;//依次在哈希表中查找递增的元素是否存在,存在则当前序列长度加一同时继续判断下一个递增元素while(s.count(tmp)){cur_len++;tmp++;}max_len=max(max_len,cur_len);}returnmax_len;}};

三、知识风暴

  • 空间换时间:利用哈希表O(1)的查询效率,代替暴力循环去匹配的过程
http://www.jsqmd.com/news/1215458/

相关文章:

  • AI 工作流六大核心范式完整梳理、对比与落地解读
  • 体检数据分析与预警实战:某制造企业健康管理落地案例
  • 发布 kubernetes.nginx.org:Kubernetes 上 NGINX 的社区中心及全新 Ingress-NGINX 迁移工具
  • 新能源储能企业如何通过Google SEO获取海外客户?一个真实案例解析
  • 预防医学走进企业:2026年员工健康管理趋势洞察
  • PostgreSQL 16.2 → 16.14 小版本升级操作手册
  • 上线前能跑,上线后挂了,三个隐性的SQL陷阱
  • 湖州德清县莫干山民宿打井,山上岩石井施工难度大吗?山区民宿打井经验分享 - 瑞溪泉水利
  • Power BI | 五步设好报表数据权限
  • 2026市政绿化杆直销怎么选?看准这三点不踩坑
  • 求职辅助工具的技术拆解:AI找工作与网申自适应填充
  • 不同蔓越莓补给产品适配人群差异解析
  • 深入解析C2000 ePWM模块:从核心原理到电机控制实战
  • 性价比高的商城小程序哪家好
  • 纪实感与安全感才是婚礼跟拍的关键
  • 开源恶意域名情报库 2026-7-17
  • 2026赤峰宣传片制作公司TOP5权威排名深度实测:独家十维评分+TVC广告与短视频制作报价对比,附选型避坑权威指南 - 影视产业研究
  • 庆阳公务员笔试报班避坑指南:从选机构到跟课全流程防雷
  • Kimi K3 技术拆解:2.8万亿参数开源模型背后的KDA+AttnRes架构创新
  • 2026辽源活动跟拍公司五大服务商权威排名深度实测 | 真实报价对比+云摄影与活动摄影服务评测,附行业选型指南 - 影视产业研究
  • 铝箔盒装月饼怎么自动封口?放盒、覆膜与连续封口流程
  • 一文读懂CRM:客户关系管理系统基础指南
  • 后端:SpringBoot 前端:Vue.js 数据库:MySQL 8.0 社区养老服务老人帮扶系统 社区养老服务springboot老人帮扶系统vue前后分离Java源码mysql
  • 思源宋体CN:零成本提升中文设计档次的7种字重解决方案
  • 外贸独立站东南亚加速实操,360CDN+Nginx 配置优化指南
  • Adobe-GenP 3.0终极指南:如何快速解锁Adobe全家桶的完整教程 [特殊字符]
  • 2026服务器热管理阀门选型白皮书:关键指标与性能实证
  • 【企业级Cursor远程开发标准流程】:金融/大厂团队已验证的4层安全加固+自动同步策略
  • 中教睿海教育咨询(北京)有限责任公司品牌权威解读:军队文职培训领域的垂直深耕者
  • 2026赤峰活动跟拍公司TOP5权威排名深度实测:独家十维评分+照片直播与云摄影服务评测,附行业选型避坑指南 - 影视产业研究