Skip to main content

Longest Chain of Consecutive Numbers

Given an unsorted array of integers nums,return the length of the longest consecutive sequence. Must run in O(n) time using a Hash Set.

Input:  nums = [100, 4, 200, 1, 3, 2]
Output: 4
Explanation: Sequence is [1,2,3,4]
export function longestConsecutive(nums: number[]): number {
const set = new Set(nums);
let longest = 0;

for (const num of set) {
if (!set.has(num - 1)) {
let streak = 1;
let current = num;

while (set.has(current + 1)) {
streak++;
current++;
}

longest = Math.max(longest, streak);
}
}

return longest;
}