力扣hot100:最长连续序列

题目描述:

思路分析:

对于 nums 中的元素 x,以 x 为起点,不断查找下一个数 x+1,x+2,⋯ 是否在 nums 中,并统计序列的长度。

由于需要不断查找元素是否在数组中,可以把数组中的元素存到哈希表中,这样查找的效率会变成O(1),于是首先定义一个哈希表,把数组中的元素存入进去,在遍历哈希表的数,不断尝试找到最大连续字数组中最小的数组和最大的数字,两数之差加1就是最大连续子数组的长度。

代码:

java 复制代码
class Solution {
    public int longestConsecutive(int[] nums) {
        int ans=0;
        Set<Integer> a=new HashSet();
        for(int b:nums){
            a.add(b);
        }
        for(int b:a){
            int n=b;
            if(a.contains(n-1)){
                continue;
            }
            while(a.contains(n+1)){
                n++;
            }
            ans=Math.max(ans,n-b+1);
        }
        return ans;
    }
}
相关推荐
漂流瓶jz8 小时前
UVA-1609 不公平竞赛 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·链表·贪心·aoapc·算法竞赛入门经典·uva
学习星球8 小时前
贪心算法精讲——贪心策略的“局部最优“如何通向全局最优?
算法·贪心算法
MuMuMu12238 小时前
文旅户外场景智能回收终端工程难点解析:越华环保集团碳惠小屋耐候与供电系统实践
java·大数据·算法
玖玥拾9 小时前
LeetCode 205 同构字符串
算法·leetcode
影视飓风TIM9 小时前
C++哈希表:unordered_set / unordered_map底层原理
c++·算法·哈希算法·散列表
在所不辞兄9 小时前
【零基础学智能仿真-06】决策树——让模型自动发现力学失效阈值
算法·决策树·机器学习
啥都想学点的研究生9 小时前
一篇文章讲清楚:C4.5决策树和CART决策树
算法·决策树·机器学习
DDXYcoder9 小时前
万字解析动态内存从编译到运行
java·前端·算法
阳明山水9 小时前
概念漂移分类与自适应策略解析
人工智能·深度学习·算法·机器学习·架构