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;
    }
相关推荐
不会c+几秒前
Spring和Springboot的区别
java·spring boot·spring
懈尘1 分钟前
基于Spring Boot与LangChain4j的AI驱动新闻系统设计与工程实现
java·大数据·人工智能·spring boot·后端·langchain
不会c+2 分钟前
Spring详解(二)IOC控制反转
java·开发语言
永远都不秃头的程序员(互关)2 分钟前
【决策树深度探索(五)】智慧之眼:信息增益,如何找到最佳决策问题?
算法·决策树·机器学习
智者知已应修善业5 分钟前
【输出方形点阵】2024-11-1
c语言·c++·经验分享·笔记·算法
小锋学长生活大爆炸7 分钟前
【工具】免费的文本读写API
java·数据库·mysql
近津薪荼11 分钟前
优选算法——双指针专题2(模拟)
c++·学习·算法
csgo打的菜又爱玩15 分钟前
数仓整体架构和建模架构
java·大数据·开发语言·架构
乌萨奇也要立志学C++17 分钟前
【洛谷】DFS 新手必学的4 道DFS经典题 手把手教你剪枝与回溯
算法·深度优先
翱翔的苍鹰17 分钟前
多Agent智能体系统设计思路
java·python·深度学习·神经网络·机器学习·tensorflow