Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

class Solution:
    def longestConsecutive(self, nums: List[int]) -> int:
        nums_set = set(nums)
        ret = 0
        for num in nums:
            left, right = num, num + 1
            while left in nums_set:
                nums_set.remove(left)
                left -= 1
            while right in nums_set:
                nums_set.remove(right)
                right += 1
            ret = max(ret, right - left - 1)
        return ret