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

LeetCode - 128. 最长连续序列

题目

128. 最长连续序列 - 力扣(LeetCode)

思路

这题要求O(n)时间复杂度,所以不能用排序的方法。我的思路是使用哈希表来实现常数时间的查找。

具体做法是:首先将所有元素放入哈希集合中,然后对每个元素,我们尝试寻找以它为起点的连续序列。为了避免重复计算,我们只从'序列的起点'开始计算 - 也就是当一个数字x在集合中,但x-1不在集合中时,才开始寻找连续序列。

这样的话,对于每个元素,我们最多只会执行一次'寻找序列'的操作,保证了总体O(n)的时间复杂度。

读者可能出现的错误写法

class Solution {
public:int longestConsecutive(vector<int>& nums) {if(nums.empty()){return 0;}unordered_set<int> set(nums.begin(),nums.end());int longest = 0;for(auto num : nums){if(!set.count(num-1)){int current = num;int curlength = 1;while(set.count(current+1)){current++;curlength++;}longest = max(longest,curlength);}}return longest;}
};

for(auto num : nums)这个情况可能会造成超时的问题,因为nums可能带有重复的元素,所以要把nums换成set

正确写法

class Solution {
public:int longestConsecutive(vector<int>& nums) {if(nums.empty()){return 0;}unordered_set<int> set(nums.begin(),nums.end());int longest = 0;for(auto num : set){if(!set.count(num-1)){int current = num;int curlength = 1;while(set.count(current+1)){current++;curlength++;}longest = max(longest,curlength);}}return longest;}
};
http://www.dtcms.com/a/357701.html

相关文章:

  • LeetCode第二题知识点3 ----引用类型
  • lxml库如何使用
  • DSP280049 CLA可访问资源
  • 【开题答辩全过程】以 非遗信息管理系统为例,包含答辩的问题和答案
  • 2025年企业管理与经济、文化发展国际会议(MECD 2025)
  • 拎包入住搭建 Browser Use Agent:基于PPIO Model API +Agent 沙箱的一体化构建
  • React-Native项目回忆
  • QML Chart组件之坐标轴共有属性
  • 基于Springboot + vue3实现的教育资源共享平台
  • Java流程控制03——顺序结构(本文为个人学习笔记,内容整理自哔哩哔哩UP主【遇见狂神说】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • PCIe 6.0 TLP路由机制:解密高效数据传输的核心架构
  • 贪心算法面试常见问题分类解析
  • 了解 JavaScript 虚拟机(VM)引擎
  • 【项目思维】编程思维学习路线(推荐)
  • Simulink过程数据存储为mat
  • PHP的header()函数分析
  • Web开发工具一套式部署Maven/Nvm/Mysql/Redis
  • 迅睿CMS标签工具箱v1.1版本已更新
  • C++ STL之封装红黑树实现map/set
  • linux系统学习(15.启动管理)
  • Anaconda安装与conda使用详细版
  • 杨校老师竞赛课堂之C++语言GESP一级笔记
  • JUC并发编程09 - 内存(01) - JMM/cache
  • HITTER——让双足人形打乒乓球(且可根据球的走向移动脚步):高层模型规划器做轨迹预测和击球规划,低层RL控制器完成击球
  • windows下安装redis
  • fcitx5-rime自动部署的实现方法
  • ​Windows8.1-KB2934018-x64.msu 怎么安装?Windows 8.1 64位补丁安装教程​(附安装包下载)
  • Linux按键驱动开发
  • 基于 Vue + Interact.js 实现可拖拽缩放柜子设计器
  • 忆联参与制定消费级SSD团体标准正式出版! 以“高可靠”引领行业提质增效与用户体验升级