# Leetcode - 128: Longest Consecutive Sequence

## Given a list of numbers return length of longest consecutive elements

## What's the question?

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

### Let's look at an example

```
Input: nums = [100,4,200,1,3,2]
Output: 4
```

The task is to solve the problem in `O(n)`

time. If this wasn't the constrain we could have sorted the list in `O(nlogn)`

time and checked for consecutive numbers with two `for`

loops.

To achive that time complexity we will loop through the numbers and initialize a `length`

counter and check if `number + length`

is in the given `nums`

list. If it's there we will increase the `lenght`

counter by `1`

.

We will keep on doing this unlit there is no number like `number + length`

available in the `nums`

list.

Now we will take the `max`

of `length`

and `longest`

variable and update our `longest`

variable. The `longest`

variable will be initialized to `0`

at start.

## Show me the code

```
def longestConsecutive(nums):
numsSet = set(nums)
longest = 0
for number in nums:
length = 0
while length + number in numsSet:
length += 1
longest = max(longest, length)
return longest
```

That's it for this blog, hope you found this helpful. You can connect with me on Twitter