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;
    }
相关推荐
多加点辣也没关系9 分钟前
数据结构与算法|第二十三章:高级数据结构
数据结构·算法
庞轩px1 小时前
第七篇:Spring扩展点——如何优雅地介入Bean的创建流程
java·后端·spring·bean·aware·扩展点
tongluowan0072 小时前
一个请求在Spring MVC 中是怎么流转的
java·spring·mvc
hoiii1872 小时前
孤立森林 (Isolation Forest) 快速异常检测系统
算法
夜郎king3 小时前
Spring AI 对接大模型开发易错点总结与实战解决办法
java·人工智能·spring
oradh3 小时前
Oracle数据库中的Java概述
java·数据库·oracle·sql基础·oracle数据库java概述
组合缺一3 小时前
Java AI 框架三国杀:Solon AI vs Spring AI vs LangChain4j 深度对比
java·人工智能·spring·ai·langchain·llm·solon
c++之路4 小时前
适配器模式(Adapter Pattern)
java·算法·适配器模式
吴声子夜歌4 小时前
Java——接口的细节
java·开发语言·算法
阿拉金alakin4 小时前
深入理解 Java 锁机制:CAS 原理、synchronized 优化与主流锁策略全总结
java·开发语言