最长连续序列
1.思路
正常人思路
2.解题方法
首先用set去除重复元素,因为重复元素并不影响最长连续序列的长度。然后定义两个列表,一个用来记录当前的最长连续序列,一个用来记录每个最长连续序列的长度。在循环里面用条件判断当前数字能否维持之前的最长连续序列即可,要注意的是下标越界以及整个序列就是最长连续序列的问题。
3.Code
class Solution:
def longestConsecutive(self, nums: List[int]) -> int:
nums=list(set(nums))
nums.sort()
Consecutive=[]
Consecutive_list=[]
flag=0
for i in range(len(nums)):
Consecutive_list.append(nums[i])
if i+1<len(nums) and nums[i+1]==nums[i]+1:
flag+=1
continue
else:
Consecutive.append(len(Consecutive_list))
Consecutive_list=[]
if flag==len(nums):
return len(nums)
else:
return max(Consecutive)