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;
    }
相关推荐
05大叔9 分钟前
RAG开发
java·服务器·前端
迷藏49411 分钟前
# 发散创新:用 Rust实现高性能测试框架的底层逻辑与实战演练
java·开发语言·后端·python·rust
路小雨~11 分钟前
机器学习基础算法学习笔记
学习·算法·机器学习
XuDream15 分钟前
idea中忽略idea文件不提交git和取消被 Git 追踪
java·git·intellij-idea
SadSunset17 分钟前
第五章:Redis 的 Java 客户端
java·数据库·redis
Tony沈哲18 分钟前
OpenVitamin 整体架构设计—— 一个本地 AI 推理平台是如何构建的
算法·llm·agent
毕设源码-钟学长27 分钟前
【开题答辩全过程】以 基于Springboot的在线考试系统为例,包含答辩的问题和答案
java·spring boot·后端
数据皮皮侠29 分钟前
1095 《中国城市统计年鉴》面板数据整理
大数据·数据库·人工智能·算法·制造
寒月小酒33 分钟前
3.26 OJ
数据结构·算法
星如雨グッ!(๑•̀ㅂ•́)و✧35 分钟前
Webflux onErrorStop使用
java