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;
    }
相关推荐
colman wang2 分钟前
Java期末
java·开发语言
Coder_Boy_4 分钟前
基于MQ实现秒杀订单系统的异步化架构
java·开发语言·架构
勇往直前plus5 分钟前
Jackson 反序列化首字母大写字段映射失败的底层原因与解决方案
java·开发语言·前端
那雨倾城8 分钟前
用 YOLO Pose + Segmentation 在PiscCode构建“语义佛光”:一次实时视觉语义融合实验
图像处理·python·opencv·算法·yolo·计算机视觉·视觉检测
nnerddboy8 分钟前
解决传统特征波段选择的局限性:1.对偶学习
学习·算法·机器学习
业精于勤的牙9 分钟前
最长特殊序列(一)
java·javascript·数据结构
咋吃都不胖lyh12 分钟前
在任务管理器中筛选、查看进程
java·开发语言
大学生资源网15 分钟前
基于JavaWeb的邮件收发系统的设计与实现(源码+文档)
java·开发语言·spring boot·mysql·毕业设计·源码·课程设计
CoovallyAIHub16 分钟前
自顶向下 or 自底向上?姿态估计技术是如何进化的?
深度学习·算法·计算机视觉
此剑之势丶愈斩愈烈22 分钟前
Spring获取URL信息
java·后端·spring