/** * @param {number[]} nums * @return {number} */ const longestConsecutive = (nums) => { let set = new Set(), maxCount = 0; for (let i = 0; i < nums.length; i++) { set.add(nums[i]); } for (let val of set) { console.log(`val:${val}`) // NOTE: Only get the start of a sequence if (!set.has(val - 1)) { console.log("this does not have a before - is a head") // curr / next let expand = 0; while (set.has(val + expand)) { expand++; } maxCount = Math.max(expand, maxCount); } } console.log(set) return maxCount; }; let x = longestConsecutive([100, 4, 200, 1, 3, 2]); console.log("Result") console.log(x)