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.
deflongestConsecutive(self, nums: List[int]) -> int: nums_set, res = set(nums), 0 for i inrange(len(nums)): count, n = 1, nums[i] + 1 while n in nums_set: count += 1 nums_set.remove(n) n += 1 n = nums[i] - 1 while n in nums_set: count += 1 nums_set.remove(n) n -= 1 res = max(res, count) return res
deflongestConsecutive(self, nums: List[int]) -> int: num_set = collections.Counter(nums) res = 0 for n in nums: if num_set[n] == 0: continue max_len = 1 num_set[n] = 0 i = n + 1 while i in num_set: num_set[i] = 0 max_len += 1 i += 1 i = n - 1 while i in num_set: num_set[i] = 0 max_len += 1 i -= 1 res = max(res, max_len) return res