前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >128. 最长连续序列(字节二面原题)

128. 最长连续序列(字节二面原题)

作者头像
CaesarChang张旭
发布2021-06-10 09:52:24
1890
发布2021-06-10 09:52:24
举报
文章被收录于专栏:悟道

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。 示例 2: 输入:nums = [0,3,7,2,5,8,4,6,0,1] 输出:9

代码语言:javascript
复制
class Solution {
    public int longestConsecutive(int[] nums) {
        Set<Integer> set=new HashSet();
        //去重先
        for(int i:nums){
            set.add(i);
        }
        int maxLen=0;//最大长度
        for(int n:nums){
            //如果n-1不在set里面, 才能进行( 防止一个元素参与多次序列组合)
            if(!set.contains(n-1)){
                int len=1;//记录这次序列的长度
                int want=n+1;//看下他的下一个数在不在里面
                //如果下一个数也在里面  更新他的长度
                while(set.contains(want)){
                    len++;
                    want++;
                }

                //序列结束  看下最大值需不需要更改
                maxLen=Math.max(maxLen,len);

            }
        }

        return maxLen;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档