AlgoLounge

Longest Consecutive Sequence

medium

Leetcode 128. Longest Consecutive Sequence

Given an array of integers nums, return the length of the longest consecutive sequence of elements that can be formed.

A consecutive sequence is a sequence of elements in which each element is exactly 1 greater than the previous element. The elements do not have to be consecutive in the original array.

You must write an algorithm that runs in O(n) time.

Examples

Example 1

Input:  nums = [2,20,4,10,3,4,5]
Output: 4

The longest consecutive sequence is [2, 3, 4, 5].

Example 2

Input:  nums = [0,3,2,5,4,6,1,1]
Output: 7

The longest consecutive sequence is [0, 1, 2, 3, 4, 5, 6].

Constraints

  • 0 <= nums.length <= 1000
  • -10^9 <= nums[i] <= 10^9
TypeScript
Loading editor…
List of test cases (12)
Case 1
nums = [2,20,4,10,3,4,5]
Case 2
nums = [0,3,2,5,4,6,1,1]
Case 3
nums = []
Case 4
nums = [1]
Case 5
nums = [1,2,0,1]
Case 6
nums = [9,1,4,7,3,-1,0,5,8,-1,6]
Case 7
nums = [1,3,5,7,9]
Case 8
nums = [100,4,200,1,3,2]
Case 9
nums = [-1,-2,-3,0,1]
Case 10
nums = [1000000000,-1000000000]
Case 11
nums = [1,2,3,4,5,6,7,8,9,10]
Case 12
nums = [5,5,5,5,5]