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;
    }
相关推荐
SamDeepThinking2 分钟前
为什么我会主动给一个年轻程序员加薪、晋升?
java·后端·程序员
来一碗刘肉面6 分钟前
C++中的引用语法
c++·算法
ikun_文14 分钟前
Java面向对象编程OOP核心知识
java
宠友信息23 分钟前
MySQL 租户数据隔离在即时通讯源码后端中的落地方式
java·数据库·spring boot·redis·websocket·mysql
Black蜡笔小新29 分钟前
自动化AI算法训练服务器DLTM零代码私有化赋能智慧农业用AI智能视觉守护万亩良田
人工智能·算法·自动化
AI人工智能+电脑小能手31 分钟前
【大白话说Java面试题 第163题】【06_Spring篇】第23题:说说SpringBoot 自动配置原理?
java·自动配置·springboot·spi·条件注解
江湖有缘34 分钟前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器
Tisfy1 小时前
LeetCode 1288.删除被覆盖区间:排序(非二重循环暴力)
算法·leetcode·题解·排序
一路向北North1 小时前
Spring Security OAuth2.0(18):资源服务测试
java·后端·spring
Σίσυφος19001 小时前
激光三角 光平面标定之后计算深度图
算法·平面