LeetCode【128】最长连续序列

题目:

分析:

1、最长连续序列的长度为 y-x+1,如1-4:4-1+1 = 4

2、不要被这里的On误导,不敢使用双层循环

3、只要找到最小的数值,并由此开始计算,不产生重复计算,则为On

代码:

java 复制代码
public int longestConsecutive(int[] nums) {
        Set<Integer> set = new HashSet<>();
        for (int num : nums) {
            set.add(num);
        }

        int max = 0;
        for (int i = 0; i < nums.length; i++) {
            if (!set.contains(nums[i] - 1)) {
                int y = nums[i] + 1;
                while (set.contains(y)) {
                    y++;
                }
                max = Math.max(max, y-nums[i]);
            }
        }

        return max;
    }
相关推荐
用户7508837061956 分钟前
大二的我手写了一把内存锁,最后却败给了 MySQL 的 MVCC?
java
lightqjx7 分钟前
【算法】数据结构_单调栈
数据结构·算法·单调栈
plainGeekDev9 分钟前
Handler/Looper → Coroutines
android·java·kotlin
Promise微笑9 分钟前
洞察无形:红外热像仪应用场景与高性价比之选
人工智能·物联网·算法
lulu121654407812 分钟前
2026年-企业级大模型API网关实战指南: 微元算力聚合平台性能优化实测
java·人工智能·spring·性能优化·ai编程
ai_coder_ai13 分钟前
如何在自动化脚本中实现定时操作?
java·前端·javascript
8Qi814 分钟前
LeetCode 746:使用最小花费爬楼梯 —— 题解笔记
java·笔记·算法·leetcode·动态规划
用户2986985301415 分钟前
Java 操作 Word 文档:常见编辑功能实现
java·后端
pipo18 分钟前
没雷达也能调 Nav2?我开源了一套仿真到实机复用的 ROS 2 3D LiDAR 导航工作空间
算法
Sunia19 分钟前
《Agentx专栏》06-记忆系统:用Redis+Milvus给AI配上短期+长期双层记忆
java·架构