Skip to content

Commit 2e0a8fe

Browse files
committed
longest-consecutive-sequence solution
1 parent 15c9c08 commit 2e0a8fe

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var longestConsecutive = function (nums) {
6+
let result = [];
7+
let longest = [];
8+
9+
numsSorted = nums.sort((a, b) => a - b);
10+
11+
numsFiltered = [...new Set(numsSorted)];
12+
13+
for (let i = 0; i < numsFiltered.length; i++) {
14+
if (result.length === 0) {
15+
result.push(numsFiltered[i]);
16+
} else if (result.length >= 1) {
17+
if (numsFiltered[i] === result[result.length - 1] + 1) {
18+
result.push(numsFiltered[i]);
19+
} else {
20+
longest.push(result.length);
21+
result = [numsFiltered[i]];
22+
}
23+
}
24+
}
25+
26+
if (longest.length === 0) {
27+
return result.length;
28+
} else {
29+
return Math.max(Math.max(...longest), result.length);
30+
}
31+
};

0 commit comments

Comments
 (0)