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;
    }
相关推荐
汉克老师2 分钟前
GESP2025年9月认证C++三级真题与解析(单选题9-15)
c++·算法·数组·string·字符数组·gesp三级·gesp3级
发疯幼稚鬼5 分钟前
简单介绍各类算法
算法
平生不喜凡桃李6 分钟前
LeetCode:LRU and LFU
算法·leetcode·哈希算法
青w韵8 分钟前
SpringBoot3.x 升级到 SpringBoot 4.x,JDK17升级到JDK21
java·后端·spring
vx_bisheyuange8 分钟前
基于SpringBoot的经方药食服务平台
java·spring boot·后端·毕业设计
星诺算法备案17 分钟前
算法备案中“落实算法安全主体责任”的实操构建
人工智能·算法·算法备案
你撅嘴真丑20 分钟前
完数的判断 , 有规律的数列求和
算法
朔北之忘 Clancy32 分钟前
第二章 分支结构程序设计(1)
c++·算法·青少年编程·竞赛·教材·考级·讲义
惊讶的猫32 分钟前
nia500总结
java·spring·mybatis
yongui4783441 分钟前
异步电机最小二乘法参数辨识的MATLAB实现
算法·matlab·最小二乘法