给定一个未排序的整数数组,找出最长连续序列的长度。
要求算法的时间复杂度为 O(n)。
示例:
输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
class Solution:
# @param num, a list of integer
# @return an integer
def longestConsecutive(self, num):
num=set(num)
maxLen=0
while num:
n=num.pop()
i=n+1
l1=0
l2=0
while i in num:
num.remove(i)
i+=1
l1+=1
i=n-1
while i in num:
num.remove(i)
i-=1
l2+=1
maxLen=max(maxLen,l1+l2+1)
return maxLen