Skip to content

Commit 5fd70b9

Browse files
authored
Merge pull request #1983 from daiyongg-kim/main
[daiyongg-kim] WEEK 01 solutions Thank you
2 parents 89fffe7 + 35a8d68 commit 5fd70b9

File tree

5 files changed

+64
-0
lines changed

5 files changed

+64
-0
lines changed

contains-duplicate/daiyongg-kim.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution:
2+
def containsDuplicate(self, nums: List[int]) -> bool:
3+
my_set = set()
4+
5+
for num in nums:
6+
if num in my_set:
7+
return True
8+
my_set.add(num)
9+
return False
10+

house-robber/daiyongg-kim.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution:
2+
def rob(self, nums: List[int]) -> int:
3+
rob_prev_prev = 0
4+
rob_prev = 0
5+
max_today = 0
6+
for rob_current in nums:
7+
contains_rob_current = rob_current + rob_prev_prev
8+
not_contains_rob_current = rob_prev
9+
10+
max_today = max(contains_rob_current, not_contains_rob_current)
11+
12+
rob_prev_prev = rob_prev
13+
rob_prev = max_today
14+
15+
return max_today
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def longestConsecutive(self, nums: List[int]) -> int:
3+
my_set = set(nums)
4+
longest = 0
5+
length = 1
6+
for num in my_set:
7+
if num - 1 not in my_set:
8+
length = 1
9+
while num + length in my_set:
10+
length += 1
11+
longest = max (longest, length)
12+
13+
return longest
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution:
2+
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
3+
counts = Counter(nums)
4+
5+
items = counts.items()
6+
7+
sort_by_value = sorted(
8+
items,
9+
key=lambda item: item[1],
10+
reverse = True
11+
)
12+
result = []
13+
for i in range(k):
14+
result.append(sort_by_value[i][0])
15+
return result
16+

two-sum/daiyongg-kim.py

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

0 commit comments

Comments
 (0)