Problem
Given an unsorted array of integers nums
, return the length of the longest consecutive elements sequence.
Must run in O(n)
time.
Input: nums = [100,4,200,1,3,2]
Output: 4
Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]
. Therefore its length is 4.
Solution
- We think about each array in that they consist of several sequences. For example,
[100,4,200,1,3,2]
would consist of `[1,2,3],[100],[200] - Find the first element of a given sequence based on the fact that
n-1
will not exist - For each given sequence, start from the first element that we found and count the length of the sequence.
- Keep track of the longest length; if it’s longer than the longest one we’ve found so far, this sequence is the longest.