Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
Your algorithm should run in O(n) complexity.
Example:
Input: [100, 4, 200, 1, 3, 2]
Output: 4
Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4.
My code:
class Solution(object):
def longestConsecutive(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
num_set=set(nums)
best=0
for num in num_set:
if num-1 not in num_set:
current_num=num
current_count=1
while current_num+1 in num_set:
current_num+=1
current_count+=1
best=max(best,current_count)
return best
Solution: https://leetcode.com/problems/longest-consecutive-sequence/