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!!!

相关推荐
fpcc6 分钟前
C++编程实践——提高缓存的命中
c++·缓存
小张成长计划..13 分钟前
【C++】37:IO库(扩展)
c++
qingyulee14 分钟前
集成学习、聚类算法
算法·聚类·集成学习
Cx330❀14 分钟前
【Qt 核心机制篇】深度解析 Qt 信号与槽(Signals & Slots)机制:从底层原理、实战演练到 Lambda 进阶
linux·开发语言·c++·人工智能·qt·ubuntu
学习,学习,在学习14 分钟前
Modbus TCP同步通信方式实现异步级效率
网络·c++·qt·网络协议·tcp/ip·qt5
lqqjuly16 分钟前
机器人状态估计与 SLAM—概率推理到 simultaneous Localization and Mapping
算法·机器人
Cx330❀18 分钟前
【Linux网络】从零构建高性能UDP服务器:从Echo到英译汉业务级实现
大数据·linux·服务器·开发语言·网络·c++·udp
sali-tec19 分钟前
C# 基于OpenCv的视觉工作流-章79-单位转换
图像处理·人工智能·opencv·算法·计算机视觉
兰令水20 分钟前
leecodecode【双指针题2】【2026.5.26打卡-java版本】
java·开发语言·算法
不吃土豆的马铃薯21 分钟前
TCP 三次握手 / 四次挥手详解
服务器·开发语言·网络·c++·网络协议·tcp/ip