304 North Cardinal St.
Dorchester Center, MA 02124

# Longest Consecutive Sequence LeetCode Solution

## Problem – Longest Consecutive Sequence

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``````

Constraints:

• `0 <= nums.length <= 105`
• `-109 <= nums[i] <= 109`

### Longest Consecutive Sequence LeetCode Solution in Java

``````public int longestConsecutive(int[] num) {
int res = 0;
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int n : num) {
if (!map.containsKey(n)) {
int left = (map.containsKey(n - 1)) ? map.get(n - 1) : 0;
int right = (map.containsKey(n + 1)) ? map.get(n + 1) : 0;
// sum: length of the sequence n is in
int sum = left + right + 1;
map.put(n, sum);

// keep track of the max length
res = Math.max(res, sum);

// extend the length to the boundary(s)
// of the sequence
// will do nothing if n has no neighbors
map.put(n - left, sum);
map.put(n + right, sum);
}
else {
// duplicates
continue;
}
}
return res;
}
``````

### Longest Consecutive Sequence LeetCode Solution in C++

``````class Solution {
public:
int longestConsecutive(vector<int> &num) {
unordered_set<int> record(num.begin(),num.end());
int res = 1;
for(int n : num){
if(record.find(n)==record.end()) continue;
record.erase(n);
int prev = n-1,next = n+1;
while(record.find(prev)!=record.end()) record.erase(prev--);
while(record.find(next)!=record.end()) record.erase(next++);
res = max(res,next-prev-1);
}
return res;
}
};
``````

### Longest Consecutive Sequence LeetCode Solution in Python

``````class Solution:
def longestConsecutive(self, nums: List[int]) -> int:
if len(nums) == 0: return 0
nums = sorted(set(nums))
lastNum = nums
curLength = 1
res = 1

for i in range(1, len(nums)):
if nums[i] == lastNum + 1:
curLength += 1
else:
curLength = 1
res = max(res, curLength)
lastNum = nums[i]

return res
``````
##### Longest Consecutive Sequence LeetCode Solution Review:

In our experience, we suggest you solve this Longest Consecutive Sequence LeetCode Solution and gain some new skills from Professionals completely free and we assure you will be worth it.

If you are stuck anywhere between any coding problem, just visit Queslers to get the Longest Consecutive Sequence LeetCode Solution

Find on LeetCode

##### Conclusion:

I hope this Longest Consecutive Sequence LeetCode Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.

This Problem is intended for audiences of all experiences who are interested in learning about Data Science in a business context; there are no prerequisites.

Keep Learning!

More Coding Solutions >>

LeetCode Solutions

Hacker Rank Solutions

CodeChef Solutions