File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed
longest-consecutive-sequence Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Source: https://leetcode.com/problems/longest-consecutive-sequence/
3
+ * ํ์ด๋ฐฉ๋ฒ: ์ ๋ ฌ ํ ์ํ๋ฅผ ํตํด ์ฐ์๋ ๊ฐ์ด ์๋์ง ํ์ธ
4
+ * ์๊ฐ๋ณต์ก๋: O(nlogn)
5
+ * ๊ณต๊ฐ๋ณต์ก๋: O(1)
6
+ *
7
+ * ์๊ฐ๋๋ ํ์ด๋ฐฉ๋ฒ
8
+ */
9
+
10
+ function longestConsecutive ( nums : number [ ] ) : number {
11
+ if ( nums . length === 0 ) return 0 ;
12
+ const sorted = nums . sort ( ( a , b ) => a - b ) ;
13
+ let prev = sorted [ 0 ] ;
14
+ let result = 1 ;
15
+ let candiResult = 1 ;
16
+
17
+ for ( let current of sorted ) {
18
+ if ( prev === current ) continue ;
19
+ if ( current === prev + 1 ) {
20
+ candiResult += 1 ;
21
+ } else {
22
+ if ( candiResult > result ) {
23
+ result = candiResult ;
24
+ }
25
+ candiResult = 1 ;
26
+ }
27
+ prev = current ;
28
+ }
29
+
30
+ if ( candiResult > result ) result = candiResult ;
31
+ return result ;
32
+ }
You canโt perform that action at this time.
0 commit comments