LeetCode 热题 100_3-128. 最长连续序列

✨✨ 欢迎大家来到小伞的大讲堂✨✨

🎈🎈养成好习惯,先赞后看哦~🎈🎈

所属专栏:Leetcode热门100**
小伞的主页:xiaosan_blog**

gitee:************************************************************许星让 (xu-xingrang) - Gitee.com****************************************************************

制作不易!点个赞吧!!谢谢喵!!

0.题目

128. 最长连续序列 - 力扣(LeetCode)

1.暴力解法(排序+枚举)

先使用排序,使整个数组升序,然后会每个数字进行向上枚举(类似于滑动窗口)

注意相同数据要通过while过滤掉

cpp 复制代码
sort()//排序
int left , right;//活动窗口
while(right<nums.size()){
    while(nums[right]+1=nums[right+1]||nums[right] == nums[right+1]){
        if(相等不会增长长度,但是right++){
            
        } 
    }
    //注意对范围的判断,以免过界
} 

这里就不演示了

2.哈希表

cpp 复制代码
    int longestConsecutive(vector<int>& nums) {
        unordered_set<int> hashi(nums.begin(), nums.end());
        int m_len = 0;
        for (auto it : hashi) {
            if (!hashi.count(it - 1)) {
                int c_len = 1;
                int c_num = it;
                while (hashi.count(c_num + 1)) {
                    c_len++;
                    c_num++;
                }
                m_len = max(m_len, c_len);
            }
        }
        return m_len;
    }

首先我们将nums转哈希,通过count查找到连续数最小值,通过对最小值向上增长进行计数

so easy!!!

相关推荐
阿文的代码库6 分钟前
经典算法题剖析:按奇偶排序数组
数据结构·算法
AI小码11 分钟前
WAIC 2026前瞻:AI产业进入拼落地的下半场
人工智能·算法·ai·程序员·大模型·编程·智能体
汉克老师24 分钟前
GESP2026年6月认证C++八级( 第二部分判断题(1-10))精讲
c++·归并排序·dijkstra·二分·互斥·gesp8级·可重复组合
珠海西格电力1 小时前
零碳园区数据应用的具体场景有哪些?
大数据·人工智能·算法·架构·能源
nianniannnn1 小时前
c++复习自存--流、异常处理、多线程与C++工程规范
开发语言·c++
geovindu1 小时前
CSharp: Dijkstra Algorithms
开发语言·后端·算法·c#
学逆向的2 小时前
汇编——位运算
开发语言·汇编·算法·网络安全
可编程芯片开发2 小时前
基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器
算法
学究天人2 小时前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷2)
算法·数学建模·动态规划·图论·抽象代数·拓扑学
知无不研3 小时前
缺省参数与缺省函数的区别
c++·语法