# [Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)
###### tags: `Leetcode`, `Medium`, `Arrays and Hashing`
## Approach
* Add all the elements of the input list to a set
* Initialize `longestSeq`
* For every `num` in the input list
* Check if `num - 1` does not exist in the set; initialize `length`
* Then keep checking if `num + 1` exists in the set; if present, increment `length` by 1
* set `longestSeq` to `max(longestSeq, length)`
* Return longestSeq
## Asymptotic Analysis
### Time Complexity: **O(N)**
### Space Complexity: **O(N)**
## Code
``` python
from typing import List
class LongestConsecutiveSequence:
@staticmethod
def longestConsecutive(nums: List[int]) -> int:
num_set = set(nums)
longest = 0
for num in nums:
if num - 1 not in num_set:
current_longest = 1
while num + 1 in num_set:
num += 1
current_longest += 1
longest = max(longest, current_longest)
return longest
nums = [100, 1, 200, 3, 201, 2, 4]
print(LongestConsecutiveSequence.longestConsecutive(nums))
```