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;
    }
相关推荐
yxlalm6 小时前
2.java秒杀项目第二课-后端登录功能
java·开发语言
梦回江东6 小时前
递归的编译优化(2)
算法
学究天人7 小时前
数学公理体系大全:第六章 选择公理的等价形式及证明
人工智能·线性代数·算法·机器学习·数学建模·概率论·原型模式
:-)7 小时前
基础算法-插入排序
数据结构·算法·排序算法
gumichef7 小时前
排序专题(插入,)
数据结构·算法·排序算法
初学者,亦行者7 小时前
算法设计与分析3:贪心法 - 求解最短路径问题(TSP)
算法·代理模式
Starmoon_dhw7 小时前
题解:P16108 「o.OI R-1」基础博弈练习题
c++·算法·图论
亦暖筑序7 小时前
AgentScope-Java 入门:用 SSE 展示评审任务进度
java·agent·ai编程
大鱼>7 小时前
AI+快递分拣:视觉识别+自动分拣+异常检测
人工智能·深度学习·算法·机器学习
想要成为糕糕手7 小时前
238. 除了自身以外数组的乘积 — 面试向深度解析
javascript·算法·面试