Python中最长的连续序列

假设我们有一个整数数组。我们必须找到最长的连续元素序列的长度。因此,如果输入类似于[100,4,250,1,3,2],则答案将为4,因为最长的连续序列为[1,2,3,4]。

为了解决这个问题,我们将遵循以下步骤-

  • 设置数组,最长:= 0

  • 对于我在范围数组中-

    • 当前:= i,条纹:= 0

    • 而我在-

    • 我加1,连胜加1

    • 最长:=最长和最长

    • 如果i – 1不在-

    • 返回最长

    示例

    让我们看下面的实现以更好地理解-

    class Solution(object):

       def longestConsecutive(self, a):

          a = set(a)

          longest = 0

          for i in a:

             if i-1 not in a:

                current = i

                streak = 0

                while i in a:

                   i+=1

                   streak+=1

                   longest = max(longest,streak)

          return longest

    ob = Solution()print(ob.longestConsecutive([100,4,250,1,3,2]))

    输入值

    [100,4,250,1,3,2]

    输出结果

    4

    以上是 Python中最长的连续序列 的全部内容, 来源链接: utcz.com/z/327130.html

    回到顶部