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;
    }
相关推荐
〆、风神6 分钟前
EasyExcel 数据字典转换器实战:注解驱动设计
android·java·注解
Thanwind7 分钟前
关于JVM和OS中的指令重排以及JIT优化
java·jvm·jmm
破东风9 分钟前
leetcode每日一题:替换子串得到平衡字符串
算法·leetcode·滑动窗口
点燃大海11 分钟前
MySQL表结构导出(Excel)
java·数据库·python·mysql·spring
Hole_up18 分钟前
蓝桥杯真题-分糖果-题解
python·算法·职场和发展·蓝桥杯
泛舟起晶浪33 分钟前
特殊的质数肋骨--dfs+isp
算法·深度优先
GGBondlctrl33 分钟前
【leetcode】记录与查找:哈希表的题型分析
算法·力扣·两数之和·字母异位词分组·存在重复字符2
视觉AI43 分钟前
研究下适合部署在jeston上的深度学习类单目标跟踪算法
深度学习·算法·目标跟踪
倒霉蛋小马1 小时前
【Java集合】LinkedList源码深度分析
java·开发语言
风象南1 小时前
SpringBoot中6种API版本控制策略
java·spring boot·后端