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