尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

LeetCode LCR 119.最长连续序列

LeetCode LCR 119.最长连续序列
📅 发布时间:2026/6/20 17:47:37
LeetCode LCR 119.最长连续序列LeetCode LCR 119.最长连续序列

LCR 119.最长连续序列

题面:

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

示例:
input nums = [100,4,200,1,3,2]
output 4

解析:

  • 这道题目简单的思路就是,对nums中的数字进行排序,设本次遍历到的数字为num,判断num + 1是否是下一个不等于num的数字。
  • 优化:
    • 针对于下一个出现的数字而言,num/num + 1/others,我们可以通过降重操作来保证下一个为num + 1/others,我们一般常用的实现就是set,而set的底层就是哈希表,相对于HashMap而言,HashSet仅对键进行操作。于是乎,我们可以通过哈希表查询来完成num + 1是否存在来推进最长连续序列,这样就省去了排序所带来的时间消耗。
    • 注意:若num - 1在当前set中,意味着最长连续序列,一定不是从num向后推进的。即若[num, y]满足连续序列的要求,[num - 1, y]一定也是满足要求的,故可以不判断。
  • \[nlog(n)\rightarrow n \]

复杂度

时间复杂度

\[O(n) \]

空间复杂度

\[O(n) \]

Code

// C++
class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> s;for (auto num : nums){s.insert(num);}int ans = 0;for (int x : s){if (s.count(x - 1)){continue;}int y = x + 1;while (s.count(y)) {y++;}ans = max(ans, y - x);}return ans;}
};
# Python
class Solution:def longestConsecutive(self, nums: List[int]) -> int:ans = 0temp = set()for num in nums:temp.add(num)for x in temp:if x - 1 in temp:continuey = x + 1while y in temp:y += 1ans = max(ans, y - x)return ans
// Rust
use std::collections::HashSet;
use std::cmp;impl Solution {pub fn longest_consecutive(nums: Vec<i32>) -> i32 {let mut temp = HashSet::new();for num in nums.iter() {temp.insert(num);}let mut ans = 0;for x in temp.iter() {if temp.contains(&(**x - 1)) {continue;}let mut y = **x + 1;while temp.contains(&y) {y += 1;}ans = cmp::max(ans, y - **x);}return ans;}
}

相关新闻

  • 2025年评价高的水果网珍珠棉发泡机/板材珍珠棉发泡机实力厂家TOP推荐榜 - 品牌宣传支持者
  • 2025年靠谱的缓冲小角度铰链/二段力小角度铰链热门厂家推荐榜单 - 行业平台推荐
  • 2025年比较好的特种纸印刷最新TOP品牌厂家排行 - 行业平台推荐

最新新闻

  • 2026免费微信投票平台实测:西瓜评选凭什么成为正式评选的口碑首选? - 投票小程序
  • 厦门黄金回收避坑路线图 五区靠谱门店实地深扒实录 - 昌福黄金回收
  • 2026 台州正规水电空调管道维修推荐|持证施工 24 小时全域应急抢修 - 星际AI
  • 上海婚纱照测评:从客片来看哪些品牌值得选 - 江湖评测
  • ARM Cortex-M低功耗MCU实战:Kinetis电源管理与物联网节点设计
  • 如何将微信聊天记录转化为个人数字资产:数据资产化管理新思路

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号