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;
    }
相关推荐
mit6.8241 分钟前
get+二分|数位dp
算法
sin_hielo5 分钟前
leetcode 2147
数据结构·算法·leetcode
萌>__<新18 分钟前
力扣打卡每日一题——缺失的第一个正数
数据结构·算法·leetcode
DuHz22 分钟前
车对车对向交汇场景的毫米波路径损耗建模论文精读
论文阅读·算法·汽车·信息与通信·信号处理
一人の梅雨28 分钟前
淘宝商品视频接口深度解析:从视频加密解密到多端视频流重构
java·开发语言·python
是喵斯特ya29 分钟前
java反序列化漏洞解析+URLDNS利用链分析
java·安全
她说..31 分钟前
MySQL数据处理(增删改)
java·开发语言·数据库·mysql·java-ee
BD_Marathon33 分钟前
【JavaWeb】ServletContext_域对象相关API
java·开发语言
lxh011334 分钟前
二叉树中的最大路径和
前端·算法·js
萌>__<新35 分钟前
力扣打卡每日一题————零钱兑换
算法·leetcode·职场和发展