hot 100 128. 最长连续序列

最长连续序列


问题描述

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

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。


样例输入

cpp 复制代码
nums = [100,4,200,1,3,2]

样例输出

cpp 复制代码
4

评测用例规模与约定

0 <= nums.length <= 10^5

-10^9 <= numsi <= 10^9


解析

找到数组中最长的连续序列长度,我们采用set的方法进行去重,然后检查数组每一个数的顺序前一个数是否在集合中,有就循环检查直到没有,更新最大长度即可。


参考程序

java 复制代码
class Solution {
    public int longestConsecutive(int[] nums) {
       Set<Integer>num_set=new HashSet<Integer>();
       for(int num:nums){
        num_set.add(num);
       }
       int l=0;
       for(int num:num_set){
        if(!num_set.contains(num-1)){
            int cur=num;
            int curs=1;
            while(num_set.contains(cur+1)){
                cur+=1;
                curs+=1;
            }
            l=Math.max(l,curs);
        } 
       }
       return l;
    }
}

难度等级

⭐️(1~10星)

⭐️⭐️

以个人刷题整理为目的,如若侵权,请联系删除~

相关推荐
长不胖的路人甲6 分钟前
可达性分析法(根搜索算法)完整详解
java·jvm·算法
paeamecium15 分钟前
【PAT甲级真题】- Kuchiguse (20)
数据结构·c++·python·算法·pat考试·pat
青山木19 分钟前
Hot 100 --- 全排列
java·数据结构·算法·leetcode·深度优先
海兰20 分钟前
【高速缓存】RedisVL 存储类型选择指南:Hash 与 JSON
人工智能·redis·算法·缓存·json·哈希算法
KaMeidebaby24 分钟前
卡梅德生物技术快报|核酸适配体文库筛选:核酸适配体文库筛选全流程技术解析:NGS与AI辅助方案的设计与实践
前端·人工智能·物联网·算法·百度
数聚天成DeepSData1 小时前
CWRU轴承数据集官方入口与替代获取渠道(2025核实版)
算法
txzrxz1 小时前
拓补排序讲解
c++·算法·图论·排序
深圳市快瞳科技有限公司1 小时前
宠物行为识别:将日常行为转化为可量化的健康指标
人工智能·算法·计算机视觉·宠物
稚南城才子,乌衣巷风流1 小时前
长链剖分(Long Chain Decomposition)算法详解
算法·深度优先·图论
变量未定义~2 小时前
环境治理、染色时间、小蓝组网
算法