File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed
longest-consecutive-sequence Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ func longestConsecutive( _ nums: [ Int ] ) -> Int {
3
+ if nums. isEmpty { return 0 }
4
+ // .isEmpty ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๊ฐ์๊ฐ 0์ผ ์ ๋ฐ๋ก 0์ ๋ฆฌํดํฉ๋๋ค.
5
+ // ์๊ฐ๋ณต์ก๋ O(1)
6
+ var maxCount = 0
7
+ var count = 1
8
+ var prefixNumber = nums. sorted ( ) . first ?? 0
9
+ for num in nums. sorted ( by: < ) {
10
+ // nums ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ฆฌ ํ ๋ฐ๋ณต๋ฌธ์ ๋ฃจํํฉ๋๋ค.
11
+ // .sorted ์๊ฐ๋ณต์ก๋ O(n log n)
12
+ // for๋ฌธ ์๊ฐ๋ณต์ก๋ O(n)
13
+ if prefixNumber == num {
14
+ continue
15
+ } else if prefixNumber + 1 == num {
16
+ count += 1
17
+ prefixNumber = num
18
+ } else {
19
+ maxCount = max ( maxCount, count)
20
+ count = 1
21
+ prefixNumber = num
22
+ }
23
+ }
24
+ return max ( maxCount, count)
25
+ }
26
+ }
You canโt perform that action at this time.
0 commit comments