最长连续序列 Java

java 复制代码
class Solution {
    public int longestConsecutive(int[] nums) {
        Set<Integer> set = new HashSet();
        for (int i : nums) set.add(i);
        int max = 0;
        for (int num : set) {
            if (set.contains(num - 1)) continue; // 上一个数存在,说明当前数不是连续片段的开头
            int cur = num; // 当前数
            int curLen = 0; // 当前长度
            // HashSet加速查找下一个数是否存在,更新最大长度
            while (set.contains(cur++)) {
                curLen++;
                max = Math.max(max, curLen);
            }
        }
        return max;
    }
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

相关推荐
zzywxc7872 小时前
AI工具应用全解析:智能编码、数据标注与模型训练的协同实践
人工智能·算法·信息可视化·自动化·ai编程
MFine2 小时前
Rhythmix(流式数据规则表达式),一行就够了!
java·物联网·数据分析
waves浪游3 小时前
C++多态
开发语言·c++
华仔啊3 小时前
面试官问:流量突然暴增100倍,系统怎么扛?我的方案是...
java
一只乔哇噻3 小时前
java后端工程师进修ing(研一版‖day50)
java·开发语言
快码加编~3 小时前
无法解析插件 org.apache.maven.plugins:maven-site-plugin:3.12.1
java·学习·maven·intellij-idea
aramae3 小时前
快速排序的深入优化探讨
c语言·开发语言·c++·算法·排序算法
托比-马奎尔3 小时前
Maven学习
java·学习·maven
znhy@1233 小时前
十一、Maven web项目的构建
java·maven