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

leetcode_128 最长连续序列

1. 题意

给定一组数,求最长连续序列,要求时间复杂度 O ( n ) O(n) O(n)

2. 题解

常规解法肯定是直接排序,再求最长连续序列,但是这样复杂度肯定是

超了的。

因此我们用哈希表来存,之后再求最长连续序列。

一个比较重要的小优化是,如果 v − 1 v-1 v1在哈希表中,我们就不需要再从

v v v开始枚举最长连续序列了!

class Solution {
public:int longestConsecutive(vector<int>& nums) {std::unordered_set<int> hs;for (int num: nums) {hs.insert( num );}int ans = 0;for (auto it = hs.begin(); it != hs.end(); ++it) {int v = *it;if ( hs.count( v - 1) ) {continue;}int ed = v + 1;while ( hs.count(ed) ) { ed++;}ans = std::max( ans, ed - v);}return ans;}
};

相关文章:

  • CKA考试知识点分享(16)---cri-dockerd
  • Seata与消息队列(如RocketMQ)如何实现最终一致性?
  • 关于凸轮的相位角计算
  • 在docker中部署dify
  • TryHackMe (THM) - SOC基础知识
  • slam--最小二乘问题--凹凸函数
  • Win10安装DockerDesktop踩坑记
  • C++斯特林数在C++中的数学理论与计算实现1
  • YOLOv8模型剪枝实战:DepGraph(依赖图)方法详解
  • Win系统权限提升篇AD内网域控NetLogonADCSPACKDCCVE漏洞
  • create_react_agent + MCP tools
  • synchronized和ReentrantLock的区别
  • 【论文阅读】Qwen2.5-VL Technical Report
  • Vue 3 九宫格抽奖系统,采用优雅的 UI 设计和流畅的动画效果
  • 打卡Day53
  • 在tensorrt engine中提高推理性能小记
  • 网络安全防护:Session攻击
  • 【python深度学习】Day53对抗生成网络
  • Vue3 + TypeScript + Element Plus 设置表格行背景颜色
  • 第十七章 Linux之大数据定制篇——Shell编程
  • 企业网站源码mba77cm/西安seo优化
  • 百度免费网站建设/关键词指数
  • 长沙做网站工作室/无锡网站优化公司
  • 做架构图的网站/大庆网络推广
  • 网页设计与制作实训报告心得体会2000字/旧版优化大师
  • 宇锋网站建设/泉州全网营销优化