LeetCode 热题 100 - 哈希 - 128

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

题目

给定一个未排序的整数数组 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

示例 3:

复制代码
输入:nums = [1,0,1,2]
输出:3

提示:

  • 0 <= nums.length <= 105
  • -109 <= nums[i] <= 109

自己的思路和代码

思路

直接将数组进行排序,然后根据不同的情况直接进行判断就可以了。感觉不像是mid题目。

代码

cpp 复制代码
class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        if(nums.empty()) return 0;
        sort(nums.begin(), nums.end());
        int sum = 1;
        int num = 1;
        for(int i=0; i<nums.size()-1; i++) {
            if(nums[i+1] - nums[i] == 1) {
                num++;
            } else if(nums[i] == nums[i+1]) {
                continue;
            } else {
                sum = max(num, sum);
                num = 1;
            }
        }
        sum = max(num, sum);
        return sum;
    }
};
相关推荐
hans汉斯44 分钟前
《软件工程与应用》期刊推荐&10月版面征稿中
图像处理·人工智能·深度学习·算法·音视频·软件工程
叠层归一研究院1 小时前
AGI 系统(八):符号范畴嵌入函子 — SymCat ↪ C_M107 严格化
c语言·开发语言·人工智能·算法·transformer·agi
其美杰布-富贵-李2 小时前
08 进阶评估指标与算法特定指标
人工智能·算法
.道阻且长.2 小时前
5.LeetCode算法习题讲解--双指针--有效三角形的个数
算法·leetcode·职场和发展
我是海飞3 小时前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理
wabs6663 小时前
关于图论【最短路径之Bellman_ford 算法(单源有限最短路)|卡码网96.城市间货物运输III的思考】
数据结构·算法·图论·卡码网·bellman_ford·单源有限最短路
lsylalalala5 小时前
常见的排序算法1
数据结构·算法·排序算法
想吃火锅10056 小时前
【leetcode】54. 螺旋矩阵
算法·leetcode·矩阵
想吃火锅10056 小时前
【leetcode】300. 最长递增子序列
算法·leetcode·职场和发展
imaol17 小时前
数据结构---队列
java·数据结构·算法