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;
    }
相关推荐
qq_297574675 分钟前
K8s系列第十四篇:K8s 故障排查实战:常见故障定位与解决方法
java·docker·kubernetes
Flittly5 分钟前
【SpringAIAlibaba新手村系列】(3)ChatModel 与 ChatClient 的深度对比
java·人工智能·spring boot·spring
2401_835792549 分钟前
Java复习上
java·开发语言·python
hoiii18711 分钟前
Mean Shift目标跟踪算法MATLAB实现
算法·matlab·目标跟踪
alphaTao11 分钟前
LeetCode 每日一题 2026/3/23-2026/3/29
服务器·windows·leetcode
励志的小陈11 分钟前
复杂度算法题——旋转数组(三种思路)
c语言·数据结构·算法
小昭在路上……11 分钟前
编译与链接的本质:段(Section)的生成与定位
java·linux·开发语言
tankeven12 分钟前
HJ151 模意义下最大子序列和(Easy Version)
c++·算法
启山智软26 分钟前
【智能商城系统技术架构优势】
java·spring·开源·商城开发
迷藏49428 分钟前
# 发散创新:基于Solidity的NFT智能合约设计与部署实战在区块链技术飞速发展
java·区块链·智能合约