124. 最长连续序列

Posted yunxintryyoubest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了124. 最长连续序列相关的知识,希望对你有一定的参考价值。

124. 最长连续序列

中文English

给定一个未排序的整数数组,找出最长连续序列的长度。

样例

样例 1

输入 : [100, 4, 200, 1, 3, 2]
输出 : 4
解释 : 这个最长的连续序列是 [1, 2, 3, 4]. 返回所求长度 4

说明

要求你的算法复杂度为O(n)

class Solution:
    """
    @param num: A list of integers
    @return: An integer
    """
    ‘‘‘
    大致思路:
    1.先排序,然后判断下一位是否大于当前,如果大于c += 1,否则c重置,最终返回m
    ‘‘‘
    def longestConsecutive(self, num):
        num.sort()
        num.append(min(num)-1)
        c = 1
        m = 0
        for i in range(len(num)-1):
            if num[i+1] == num[i]:
                continue
            if num[i+1] == num[i] + 1:
                c += 1 
            else:
                if c > m:
                    m = c
                c = 1
        return  m

 

以上是关于124. 最长连续序列的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试 - 最长连续子串(Python)| 真题+思路+考点+代码+岗位

Leetcode 128 最长连续序列

代码随想录算法训练营第五十二天 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

在一个无序整数数组中,找出连续增长片段最长的一段, 增长步长是1。Example: [3,2,4,5,6,1,9], 最长的是[4,5,6]

LeetCode128. 最长连续序列

Java 求解最长连续递增序列