剑指 Offer II 119. 最长连续序列

发布时间 2023-04-30 20:16:46作者: 猥琐丑八怪

 分析:

题目意思是数组里面能组合起来最长的连续数组

然后直接sort排序,如果中间差数不是1就不再连续,count归零

当nums[i]和nums[i-1]相等的时候,跳过

代码:

 1 class Solution(object):
 2     def longestConsecutive(self, nums):
 3         """
 4         :type nums: List[int]
 5         :rtype: int
 6         """
 7         # f=[0 for i in range(len(nums))]
 8         # f[0]=1
 9         # for i in range(len(nums)):
10         #     if nums[i]>nums[i-1]:
11         if len(nums)==0:
12             return 0
13         nums.sort()
14         maxs=0
15         count=0
16         for i in range(1,len(nums)):
17             if nums[i]-nums[i-1]==1:
18                 count+=1
19                 maxs=max(maxs,count)
20             elif nums[i]==nums[i-1]:
21                 pass
22             else:
23                 count=0
24         return maxs+1