From 7c26d77196e551ecb12f4fb34068dcda738a418c Mon Sep 17 00:00:00 2001 From: prograsshopper Date: Sat, 26 Jul 2025 02:03:09 +0900 Subject: [PATCH 1/3] week 1: two sum --- two-sum/prograsshopper.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 two-sum/prograsshopper.py diff --git a/two-sum/prograsshopper.py b/two-sum/prograsshopper.py new file mode 100644 index 000000000..ee2a70bd2 --- /dev/null +++ b/two-sum/prograsshopper.py @@ -0,0 +1,10 @@ +class Solution: + def twoSum(self, nums: List[int], target: int) -> List[int]: + index_dict = {elem: idx for idx, elem in enumerate(nums)} + result = [] + for idx, num in enumerate(nums): + remain = index_dict.get(target-num, None) + if remain and idx != remain: + result = [idx, remain] + break + return result From 124f26a8998f5bb7abbd1bd0b6a686c572be3069 Mon Sep 17 00:00:00 2001 From: prograsshopper Date: Sat, 26 Jul 2025 02:14:03 +0900 Subject: [PATCH 2/3] week 1: contains duplicate --- contains-duplicate/prograsshopper.py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 contains-duplicate/prograsshopper.py diff --git a/contains-duplicate/prograsshopper.py b/contains-duplicate/prograsshopper.py new file mode 100644 index 000000000..86e9be411 --- /dev/null +++ b/contains-duplicate/prograsshopper.py @@ -0,0 +1,3 @@ +class Solution: + def containsDuplicate(self, nums: List[int]) -> bool: + return len(set(nums)) != len(nums) From 12faf10608fb01615c9281fdd6db0452cfce5e8c Mon Sep 17 00:00:00 2001 From: prograsshopper Date: Sat, 26 Jul 2025 23:13:17 +0900 Subject: [PATCH 3/3] week 1: top k elements --- top-k-frequent-elements/prograsshopper.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 top-k-frequent-elements/prograsshopper.py diff --git a/top-k-frequent-elements/prograsshopper.py b/top-k-frequent-elements/prograsshopper.py new file mode 100644 index 000000000..ec7035f83 --- /dev/null +++ b/top-k-frequent-elements/prograsshopper.py @@ -0,0 +1,8 @@ +class Solution: + def topKFrequent(self, nums: List[int], k: int) -> List[int]: + from collections import defaultdict + frequent_dict = defaultdict(int) + for num in nums: + frequent_dict[num] += 1 + sorted_dict = dict(sorted(frequent_dict.items(), key=operator.itemgetter(1), reverse=True)) + return list(sorted_dict)[:k]