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;

    }
};
相关推荐
武子康2 分钟前
Java-195 RabbitMQ BlockingQueue 手搓“消息中间件”雏形:生产者-消费者模型到企业级 MQ 差在哪
java·分布式·架构·消息队列·rabbitmq·java-rabbitmq·mq
Propeller3 分钟前
【Android】动态操作 Window 的背后机制
android·java
zzzgw_20015 分钟前
io_uring的机理和跟epoll的对比
java·开发语言
pandarking5 分钟前
[CTF]攻防世界:easy_laravel 学习
java·学习·web安全·laravel·ctf
Han.miracle6 分钟前
数据结构与算法--006 和为s的两个数字(easy)
java·数据结构·算法·和为s的两个数字
AAA简单玩转程序设计9 分钟前
Java集合“坑王”:ArrayList为啥越界还能浪?
java·前端
AAA简单玩转程序设计10 分钟前
别再把Java枚举当“花瓶”!它能办大事
java·前端
Java天梯之路12 分钟前
Spring Boot 启动流程源码解析:从 `main()` 到 Web 服务就绪
java·spring boot·面试
漂亮的小碎步丶12 分钟前
【3】Spring事务管理
java·数据库·spring
WZTTMoon13 分钟前
Spring Boot Swagger3 使用指南
java·spring boot·后端·swagger3