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