美文网首页
最长的连续元素序列的长度

最长的连续元素序列的长度

作者: 名字是乱打的 | 来源:发表于2020-03-28 22:28 被阅读0次

题目描述

给定一个无序的整数类型数组,求最长的连续元素序列的长度。
例如:
给出的数组为[100, 4, 200, 1, 3, 2],
最长的连续元素序列为[1, 2, 3, 4]. 返回这个序列的长度:4
你需要给出时间复杂度在O(n)之内的算法

思路:

先排序,记住三个数
int count=1;//当前连续序列长度
int last=num[0];//上一个数字(连续判断条件)
int max=1;//前面最大的连续序列长度
做的时候搞错了一个点,就是1,1,2,3,算连续三个,我算成连续四个了,后来改掉了

代码:

 public int longestConsecutive(int[] num) {
//        给定一个无序的整数类型数组,求最长的连续元素序列的长度。
//        例如:
//        给出的数组为[100, 4, 200, 1, 3, 2],
//        最长的连续元素序列为[1, 2, 3, 4]. 返回这个序列的长度:4
//        你需要给出时间复杂度在O(n)之内的算法
        if(num.length<=1){
            return num.length;
        }
        Arrays.sort(num);//对数组重数据进行一次排序
        int count=1;//当前连续序列长度
        int last=num[0];//上一个数字(连续判断条件)
        int max=1;//前面最大的连续序列长度
        for (int index=1;index<num.length;index++){
            if (num[index]==last+1){
                last=num[index];
                count++;
            }else if (num[index]==last){
                continue;
            }else{
                last=num[index];
                count=1;
            }
            max=count>max?count:max;
        }
        return max;
    }

第七个是我,我以为有更好的方法,后来看了一下前面人思路,跟我的差不多.我多次测试发现运行时间也是变化的,所以时间长短应该是机器原因.


相关文章

  • 最长的连续元素序列的长度

    题目描述 给定一个无序的整数类型数组,求最长的连续元素序列的长度。例如:给出的数组为[100, 4, 200, 1...

  • 最长连续序列的长度

    一个无序正整数数组,求数组中最长连续序列的长度,时间复杂度越简单越好示例Input: [100, 4, 200, ...

  • leetcode--128--最长连续序列

    题目:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 进阶:...

  • 128:最长连续序列

    题意 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设...

  • LeetCode 128. 最长连续序列

    题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计...

  • Day66 最长连续序列

    给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度 进阶:你可以设...

  • LeetCode-128-最长连续序列

    最长连续序列 题目描述:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续...

  • LeetCode刷题之路 最长连续序列

    最长连续序列【困难】 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例...

  • 300. Longest Increasing Subseque

    求数组的最长上升子序列的长度。 动态规划 dp[i]为考虑前i个元素,以第 i 个数字结尾的最长上升子序列的长度,...

  • LeetCode 128. 最长连续序列 | Python

    128. 最长连续序列 题目 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)...

网友评论

      本文标题:最长的连续元素序列的长度

      本文链接:https://www.haomeiwen.com/subject/qiheuhtx.html