JSFiddle - React, Tailwind, and code Playground
JavaScript
/**
* @param {number[]} nums
* @return {number}
*/
const longestConsecutive = function(nums) {
if (!nums || !nums.length) {
return 0;
}
var obj = {};
for (let val of nums) {
obj[val] = true;
}
let max = 1;
for (let val of nums) {
if (!((val - 1) in obj)) {
let currLen = 1;
let curr = val;
while ((curr + 1) in obj) {
curr++;
currLen++;
}
max = Math.max(max, currLen);
}
}
return max;
};
console.log(longestConsecutive([1000, 1001, 1002, 1003, 2001, 2, 3]));
// 4