File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
longest-consecutive-sequence Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change 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+ } ;
You can’t perform that action at this time.
0 commit comments