128. 最长连续序列

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

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

示例 1:

输入:nums = 100,4,200,1,3,2

输出:4

解释:最长数字连续序列是 1, 2, 3, 4。它的长度为 4。

示例 2:

输入:nums = 0,3,7,2,5,8,4,6,0,1

输出:9

cpp 复制代码
class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        unordered_set<int> numSet;
        for(auto d:nums) {
            numSet.insert(d);
        }

        int maxLen = 0;
        for(auto d: nums) {
            if(!numSet.count(d-1)) {
                int curLen = 0;
                while(numSet.count(d)) {
                    curLen++;
                    d++;
                }
                maxLen = max(maxLen, curLen);
            }
        }
        return maxLen;

    }
};
相关推荐
青石路41 分钟前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
先吃饱再说2 小时前
判断回文字符串,从一行代码到双指针优化
算法
像我这样帅的人丶你还4 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
黄敬峰5 小时前
深入理解算法核心:从递归思想、数组扁平化到快速排序
算法
plainGeekDev6 小时前
GreenDAO → Room
android·java·kotlin
得物技术6 小时前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
AI小老六9 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
后端·算法·ai编程
胡萝卜术10 小时前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
亦暖筑序11 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
Asize11 小时前
初识DFS 与 BFS:递归、队列与图遍历
算法