diff --git a/contains-duplicate/daiyongg-kim.py b/contains-duplicate/daiyongg-kim.py new file mode 100644 index 0000000000..1ebdb09a9e --- /dev/null +++ b/contains-duplicate/daiyongg-kim.py @@ -0,0 +1,10 @@ +class Solution: + def containsDuplicate(self, nums: List[int]) -> bool: + my_set = set() + + for num in nums: + if num in my_set: + return True + my_set.add(num) + return False + diff --git a/house-robber/daiyongg-kim.py b/house-robber/daiyongg-kim.py new file mode 100644 index 0000000000..3f1584f282 --- /dev/null +++ b/house-robber/daiyongg-kim.py @@ -0,0 +1,15 @@ +class Solution: + def rob(self, nums: List[int]) -> int: + rob_prev_prev = 0 + rob_prev = 0 + max_today = 0 + for rob_current in nums: + contains_rob_current = rob_current + rob_prev_prev + not_contains_rob_current = rob_prev + + max_today = max(contains_rob_current, not_contains_rob_current) + + rob_prev_prev = rob_prev + rob_prev = max_today + + return max_today diff --git a/longest-consecutive-sequence/daiyongg-kim.py b/longest-consecutive-sequence/daiyongg-kim.py new file mode 100644 index 0000000000..1dc080e293 --- /dev/null +++ b/longest-consecutive-sequence/daiyongg-kim.py @@ -0,0 +1,13 @@ +class Solution: + def longestConsecutive(self, nums: List[int]) -> int: + my_set = set(nums) + longest = 0 + length = 1 + for num in my_set: + if num - 1 not in my_set: + length = 1 + while num + length in my_set: + length += 1 + longest = max (longest, length) + + return longest diff --git a/top-k-frequent-elements/daiyongg-kim.py b/top-k-frequent-elements/daiyongg-kim.py new file mode 100644 index 0000000000..4ee3be8c07 --- /dev/null +++ b/top-k-frequent-elements/daiyongg-kim.py @@ -0,0 +1,16 @@ +class Solution: + def topKFrequent(self, nums: List[int], k: int) -> List[int]: + counts = Counter(nums) + + items = counts.items() + + sort_by_value = sorted( + items, + key=lambda item: item[1], + reverse = True + ) + result = [] + for i in range(k): + result.append(sort_by_value[i][0]) + return result + diff --git a/two-sum/daiyongg-kim.py b/two-sum/daiyongg-kim.py new file mode 100644 index 0000000000..8bb4484879 --- /dev/null +++ b/two-sum/daiyongg-kim.py @@ -0,0 +1,10 @@ +class Solution: + def twoSum(self, nums: List[int], target: int) -> List[int]: + hash_map = {} + for i, num in enumerate(nums): + current = target - num + if current in hash_map: + return [hash_map[current], i] + hash_map[num] = i + return [] +