Skip to content

Commit 39f0e0e

Browse files
committed
2 parents 14418e2 + 63956b5 commit 39f0e0e

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
class Solution:
2+
"""
3+
nums를 내림차순 sort하고, 차례대로 두 개의 차가 다음 차가 같다면 + 1
4+
처음 차는 diff 변수에 저장하고, 진행되면서 diff를 업데이트
5+
200, 100, 4, 3, 2, 1
6+
7+
연속된 수열이라고 하여 1 이외의 다른 수가 올 수 있을 것이라고 판단하였지만 차이가 1로 나온다는 것을 확인
8+
9+
- TC
10+
- set(nums) -> O(n)
11+
- for -> O(n)
12+
- while -> O(n)
13+
- 전체 -> O(n)
14+
- SC
15+
- num_set -> O(n)
16+
- 다른 변수들 -> O(1)
17+
- 전체 -> O(n)
18+
"""
19+
def longestConsecutive(self, nums: List[int]) -> int:
20+
num_set = set(nums)
21+
longest = 0
22+
23+
for num in num_set:
24+
if num - 1 not in num_set:
25+
k = 1
26+
27+
while num + k in num_set:
28+
k += 1
29+
30+
longest = max(longest, k)
31+
return longest

top-k-frequent-elements/hu6r1s.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from collections import Counter
2+
3+
class Solution:
4+
"""
5+
- TC
6+
- Counter(nums): O(n)
7+
- sorted(): O(n log n)
8+
- 슬라이싱 및 리스트 변환: O(k)
9+
- 전체: O(n log n)
10+
- SP
11+
- Counter 및 정렬된 딕셔너리 저장: O(n)
12+
- 반환 리스트: O(k)
13+
- 전체: O(n)
14+
"""
15+
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
16+
count_nums = Counter(nums)
17+
count_nums = dict(sorted(count_nums.items(), reverse=True, key=lambda x: x[1])).keys()
18+
return list(count_nums)[:k]

0 commit comments

Comments
 (0)