題目:
給定一個未排序的整數數組 nums
,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。
示例 1:
輸入:nums = [100,4,200,1,3,2]
輸出:4
解釋:最長數字連續序列是 [1, 2, 3, 4]。它的長度為 4。
示例 2:
輸入:nums = [0,3,7,2,5,8,4,6,0,1] 輸出:9
代碼:
class Solution:def longestConsecutive(self, nums) -> int:if nums==[]:return 0a=sorted(list(set(nums)))#去除重復元素再升序排序b=[]#記錄連續序列count=1#起始值為1for i in range(len(a)):if i+1>=len(a):breakif a[i]+1==a[i+1]:count+=1else:b.append(count)#不滿足a[i]+1==a[i+1],將序列添加進來count=1#重新記錄連續序列b.append(count)#防止跳出循環沒有加入記錄return max(b)#返回最大連續序列