最長連續序列leetcode128
阿新 • • 發佈:2018-11-15
給定一個未排序的整數陣列,找出最長連續序列的長度。
要求演算法的時間複雜度為 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