Problem Description
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 
My Idea
To find the longest sequence in O(n) time, we’d need to optimize the data structure for nums by converting in to a set, since set lookup happens ins constant time O(1). This way we can take any possible start of a sequence, check how long it is and in the end return the longest one.
My solution
def longestConsecutive(nums: list[int]) -> int:
    if nums==[]:
        return 0
    snums=set(nums)
    res=1
    for n in nums:
        if n-1 not in snums:
            curr=n+1
            while curr in snums:
                curr+=1
            res=max(res,curr-n)
    return res