Longest Consecutive Sequence
MediumArrayHash TableUnion Find
Solution
export function longestConsecutive(nums: number[]): number {
let answer = 0;
const numsMap = new Map<number, boolean>();
nums.forEach((num) => {
numsMap.set(num, true);
});
nums.forEach((num) => {
if (!numsMap.has(num - 1)) {
let currentNum = num;
let currentLength = 1;
while (numsMap.has(currentNum + 1)) {
currentNum += 1;
currentLength += 1;
}
answer = Math.max(answer, currentLength);
}
});
return answer;
}