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 分钟前
String 底层原理与常量池全解析:byte []+coder、intern 陷阱、substring 内存泄漏,一篇讲透
java·jvm·内存优化·string·字符串常量池
新知图书15 分钟前
12.3 智能体中Skill的约束与自进化实战
java·前端·数据库
en.en..23 分钟前
C语言 static函数与头文件封装规范
java·c语言·前端
步行cgn30 分钟前
Spring Boot 项目打包部署详解
java·spring boot·后端
啥都想学点的研究生40 分钟前
一篇文章讲清楚:逻辑回归
算法·机器学习·逻辑回归
pnoker1 小时前
拆解 IoT DC3:六层微服务架构
java·物联网·spring cloud·微服务·架构
cfm_29141 小时前
ThreadLocal 内存泄漏
java·jvm
NJCloud1 小时前
Docker 镜像管理:分层结构、构建优化与最佳实践
java·docker·容器
vipxieliang1 小时前
收货地址验证完整方案:省市区与详细地址
java·spring boot
Json____1 小时前
java-宿舍安全卫生检查系统项目源码
java·前端·javascript·课程设计·it学习·wwwoop.com