Skip to content

Commit 1ff1969

Browse files
authored
[Yiseull] WEEK 01 solutions (#2665)
* feat: contains-duplicate solution * feat: two-sum solution * feat: 347. Top K Frequent Elements solution * feat: 347. Top K Frequent Elements solution * feat: 128. Longest Consecutive Sequence solution * feat: 347. Top K Frequent Elements solution * fix: 줄바꿈
1 parent 134e8ab commit 1ff1969

4 files changed

Lines changed: 56 additions & 0 deletions

File tree

contains-duplicate/Yiseull.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class Solution:
2+
def containsDuplicate(self, nums: List[int]) -> bool:
3+
return len(nums) != len(set(nums))
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution:
2+
def longestConsecutive(self, nums: List[int]) -> int:
3+
answer = 0
4+
numsSet = set(nums)
5+
for num in numsSet:
6+
if num - 1 in numsSet:
7+
continue
8+
9+
size = 1
10+
while num + 1 in numsSet:
11+
size += 1
12+
num += 1
13+
14+
answer = max(answer, size)
15+
16+
return answer

top-k-frequent-elements/Yiseull.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from collections import Counter
2+
3+
class Solution:
4+
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
5+
# return [key for key, counter in Counter(nums).most_common(k)]
6+
7+
# counter = {}
8+
# for num in nums:
9+
# if num in counter:
10+
# counter[num] += 1
11+
# continue
12+
# counter[num] = 1
13+
#
14+
# return [key for key, counter in sorted(counter.items(), key=lambda x: -x[1])[0:k]]
15+
16+
counter = {}
17+
for num in nums:
18+
if num in counter:
19+
counter[num] += 1
20+
continue
21+
counter[num] = 1
22+
23+
heap = [(-v, k) for k, v in counter.items()]
24+
heapify(heap)
25+
26+
answer = []
27+
for _ in range(k):
28+
answer.append(heappop(heap)[1])
29+
30+
return answer

two-sum/Yiseull.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Solution:
2+
def twoSum(self, nums: List[int], target: int) -> List[int]:
3+
numMap = {}
4+
for i, num in enumerate(nums):
5+
if target - num in numMap:
6+
return [numMap[target- num], i]
7+
numMap[num] = i

0 commit comments

Comments
 (0)