LeetCode(45)最长连续序列【哈希表】【中等】

目录

链接: 最长连续序列

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

提示:

  • 0 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9

2.答案

java 复制代码
class Solution {
    public int longestConsecutive(int[] nums) {
        if (nums.length == 0) {
            return 0;
        }
        Arrays.sort(nums);
        int maxLength = 1;
        int length = 1;
        for (int i = 0; i < nums.length - 1; i++) {
            if (nums[i + 1] - nums[i] == 1) {
                length++;
            } else if (nums[i + 1] != nums[i]) {
                length = 1;
            }
            maxLength = Math.max(maxLength, length);
        }
        return maxLength;
    }
}

3.提交结果截图

整理完毕,完结撒花~ 🌻

相关推荐
2401_84149564几秒前
【自然语言处理】中文 n-gram 词模型
人工智能·python·算法·自然语言处理·n-gram·中文文本生成模型·kneser-ney平滑
San3021 分钟前
从零到一:彻底搞定面试高频算法——“列表转树”与“爬楼梯”全解析
javascript·算法·面试
F_D_Z28 分钟前
最长连续序列(Longest Consecutive Sequence)
数据结构·算法·leetcode
ss27328 分钟前
Java并发编程:DelayQueue延迟订单系统
java·python·算法
JHC00000031 分钟前
118. 杨辉三角
python·算法·面试
WolfGang0073211 小时前
代码随想录算法训练营Day50 | 拓扑排序、dijkstra(朴素版)
数据结构·算法
业精于勤的牙1 小时前
浅谈:算法中的斐波那契数(四)
算法
一直都在5721 小时前
数据结构入门:二叉排序树的删除算法
数据结构·算法
白云千载尽1 小时前
ego_planner算法的仿真环境(主要是ros)-算法的解耦实现.
算法·无人机·规划算法·后端优化·ego·ego_planner
Swizard1 小时前
别再只会算直线距离了!用“马氏距离”揪出那个伪装的数据“卧底”
python·算法·ai