程序查找Python中最长连续序列的长度

假设我们有一个未排序的数字数组,我们必须找到连续元素的最长序列的长度。

因此,如果输入类似于nums = [70、7、50、4、6、5],则输出为4,因为连续元素的最长序列为[4、5、6、7]。所以我们返回它的长度:4。

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

  • nums:= nums的所有唯一元素

  • max_cnt:= 0

  • 对于以num为单位的每个num

    • cnt:= 0

    • 当num以num的形式出现时,

    • max_cnt:= max_cnt和cnt的最大值

    • num:= num + 1

    • cnt:= cnt + 1

    • 如果num-1不是以num为单位,则

    • 返回max_cnt

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

    示例

    class Solution:

       def solve(self, nums):

          nums = set(nums)

          max_cnt = 0

          for num in nums:

             if num - 1 not in nums:

                cnt = 0

                while num in nums:

                   num += 1

                   cnt += 1

                max_cnt = max(max_cnt, cnt)

          return max_cnt

    ob = Solution()nums = [70, 7, 50, 4, 6, 5]

    print(ob.solve(nums))

    输入值

    [70, 7, 50, 4, 6, 5]

    输出结果

    4

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

    回到顶部