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