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;

    }
};
相关推荐
abant28 分钟前
leetcode 239 单调队列 需要一些记忆
算法·leetcode·职场和发展
alengan10 分钟前
cocos自动编译-Android自动出apk包
java·eclipse
漫霂14 分钟前
二叉树的统一迭代遍历
java·算法
文静小土豆14 分钟前
K8s 滚动更新在 Java 应用中的实践与优化
java·容器·kubernetes
炽烈小老头16 分钟前
【每天学习一点算法 2026/04/08】阶乘后的零
学习·算法
HSunR18 分钟前
java springboot3 后端 基础框架
java·开发语言
Mr_Xuhhh24 分钟前
算法刷题笔记:从滑动窗口到哈夫曼编码,我的算法进阶之路
开发语言·算法
七夜zippoe26 分钟前
Java技术未来展望:GraalVM、Quarkus、Helidon等新趋势探讨
java·开发语言·python·quarkus·graaivm·helidon
枫叶落雨22228 分钟前
ClassPathXmlApplicationContext
java·开发语言
草莓熊Lotso28 分钟前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql