Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence.
You must write an algorithm that runs in O(n) time.
Example 1:
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.
Example 2:
Input: nums = [0,3,7,2,5,8,4,6,0,1]
Output: 9
The key idea is to use a hash set for O(1) membership checks and only start counting from numbers that are the beginning of a sequence, meaning the previous number does not exist. This guarantees each value is processed at most once, achieving O(n) time. In the examples, [100,4,200,1,3,2] has the longest streak [1,2,3,4] with length 4, and [0,3,7,2,5,8,4,6,0,1] forms a full sequence from 0 to 8, giving 9.