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;
    }
相关推荐
数据大魔方1 分钟前
【期货量化进阶】期货Tick数据分析与应用:高频数据入门(TqSdk完整教程)
python·算法·数据挖掘·数据分析·github·程序员创富·期货程序化
黎雁·泠崖4 分钟前
吃透Java操作符入门:分类差异+进制转换+原反补码 核心前置知识(Java&C对比)
java·c语言·开发语言
天天摸鱼的java工程师4 分钟前
volatile 关键字底层原理:为什么它不能保证原子性?
java·后端
钟良堂4 分钟前
Java完整实现 MinIO 对象存储搭建+封装全套公共方法+断点上传功能
java·minio·断点上传
小杨同学497 分钟前
C 语言实战:堆内存存储字符串 + 多种递归方案计算字符串长度
数据库·后端·算法
名字不好奇8 分钟前
C++虚函数表失效???
java·开发语言·c++
君义_noip8 分钟前
【模板:字符串哈希】信息学奥赛一本通 1455:【例题1】Oulipo
算法·哈希算法·信息学奥赛·csp-s
u01040583610 分钟前
Java中的服务监控:Prometheus与Grafana的集成
java·grafana·prometheus
fengfuyao98512 分钟前
基于Matlab的压缩感知梯度投影重构算法实现方案
算法·matlab·重构