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;
    }
相关推荐
段ヤシ.几秒前
回顾Java知识点,面试题汇总Day1(持续更新)
java·开发语言
Devin~Y3 分钟前
大厂Java面试:Spring Boot + Redis/Kafka + Spring Cloud + JVM + RAG/向量检索(小Y翻车实录)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
Hello.Reader3 分钟前
算法基础(九)——循环不变式如何证明一个算法是正确的
java·开发语言·算法
wuweijianlove5 分钟前
算法稳定性分析中的输入扰动建模的技术7
算法
朝新_11 分钟前
【LangChain】少样本提示(few-shorting) 大模型 Few-Shot 提示工程:四大 Example Selector应用
java·人工智能·自然语言处理·langchain
MATLAB代码顾问12 分钟前
粒子群优化算法(PSO)原理与Python高级实现
开发语言·python·算法
Epiphany.55614 分钟前
连通块的遍历
c++·算法·蓝桥杯
yhy666666615 分钟前
java内存
java·开发语言
码云社区20 分钟前
JAVA同城上门做饭系统家政上门同城服务系统源码小程序+APP+公众号+h5
java·开发语言·小程序
alxraves25 分钟前
超声诊断图像的关键算法概述
算法·安全·健康医疗·制造·信号处理