Longest Consecutive Sequence

Asked byAmazonMicrosoftGoogleAdobeSpotifyBloomberg

Problem

Given an unsorted array of integers, return the length of the longest run of consecutive integers that can be formed using the numbers in the array. Your algorithm should run in O(n) time.

Examples

Example 1
Input:nums = [100,4,200,1,3,2]
Output:4
The longest consecutive run is [1,2,3,4].
Example 2
Input:nums = [0,3,7,2,5,8,4,6,0,1]
Output:9

Constraints

  • 0 <= nums.length <= 10^5

Solve it in the editor. Sign in free to run your Python or JavaScript against test cases, get a verdict, and track your attempts.

Solve on FeatCode →

How to approach it: the Arrays & Hashing pattern

Arrays give O(1) index access; hash maps and sets give O(1) average lookup, insert, and delete by trading space for speed. Together they're the toolkit for turning brute-force O(n²) comparisons into a single O(n) pass.

Look for this pattern when

  • You need to check "have I seen this value before?" quickly.
  • You're counting occurrences or grouping items by a derived key (e.g. sorted letters for anagrams).
  • A nested loop is comparing every pair — a hash map can often replace the inner loop.

Read the full Arrays & Hashing guide →

Video walkthroughs

Original problem on LeetCode ↗

More Arrays & Hashing problems