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;

    }
};
相关推荐
imDwAaY6 小时前
贝叶斯网络到粒子滤波Python算法实现 CS188 Proj4 学习笔记
网络·人工智能·笔记·python·学习·算法
sleven fung6 小时前
Whisper库
开发语言·人工智能·python·算法·ai·whisper
Black蜡笔小新6 小时前
自动化AI算法训练服务器DLTM零代码私有化一站式AI训练平台技术解析
人工智能·算法·自动化
天若有情6737 小时前
【C++趣味实战】仿写Burp代理逻辑!自定义可控迭代器:拦截Intercept/放行Forward/重放Repeater全实现
java·开发语言·c++
迷藏4947 小时前
Python+DuckDB:轻量级BI流水线实战
java·开发语言·python·原型模式
磊 子7 小时前
C++function与bind绑定器讲解
java·jvm·c++
咋吃都不胖lyh7 小时前
短期记忆和长期记忆都存 MySQL
android·java·开发语言
浮游本尊7 小时前
前端vue转后端java学习路径
java·前端·vue.js
梦想的颜色7 小时前
MySQL 查询性能核武器
运维·服务器·数据结构·数据库·mysql
Mumu12187 小时前
P3212 [HNOI2011] 任务调度
算法