From 77aeb213d2ee4a33faf8cf53978529b1a1b1256c Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 12:33:40 +0900 Subject: [PATCH 01/11] Solve : contains-duplicate --- contains-duplicate/printjin-gmailcom | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 contains-duplicate/printjin-gmailcom diff --git a/contains-duplicate/printjin-gmailcom b/contains-duplicate/printjin-gmailcom new file mode 100644 index 000000000..c9851976c --- /dev/null +++ b/contains-duplicate/printjin-gmailcom @@ -0,0 +1,3 @@ +class Solution: + def containsDuplicate(self, nums): + return len(nums) != len(set(nums)) From ba618d4b3cdedaa4241d93a2036ab653ae676deb Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 14:38:22 +0900 Subject: [PATCH 02/11] Solve : Two Sum --- two-sum/printjin-gmailcom | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 two-sum/printjin-gmailcom diff --git a/two-sum/printjin-gmailcom b/two-sum/printjin-gmailcom new file mode 100644 index 000000000..50f5bea28 --- /dev/null +++ b/two-sum/printjin-gmailcom @@ -0,0 +1,6 @@ +class Solution: + def twoSum(self, nums, target): + for i in range(len(nums)): + for j in range(i + 1, len(nums)): + if nums[i] + nums[j] == target: + return [i, j] \ No newline at end of file From b2ef9efdcb52c149155ee444f93ef5b42ff7150e Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 14:41:16 +0900 Subject: [PATCH 03/11] Refactor : Two Sum --- two-sum/printjin-gmailcom | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/two-sum/printjin-gmailcom b/two-sum/printjin-gmailcom index 50f5bea28..9e454c3d8 100644 --- a/two-sum/printjin-gmailcom +++ b/two-sum/printjin-gmailcom @@ -1,6 +1,8 @@ class Solution: def twoSum(self, nums, target): - for i in range(len(nums)): - for j in range(i + 1, len(nums)): - if nums[i] + nums[j] == target: - return [i, j] \ No newline at end of file + num_map = {} + for i, num in enumerate(nums): + left = target - num + if left in num_map: + return [num_map[left], i] + num_map[num] = i \ No newline at end of file From 64a9262a6b4b09338fc601f5c48c0ac25b373805 Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 14:45:27 +0900 Subject: [PATCH 04/11] Chore : Fix Lint Error --- two-sum/printjin-gmailcom | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/two-sum/printjin-gmailcom b/two-sum/printjin-gmailcom index 9e454c3d8..370b72e88 100644 --- a/two-sum/printjin-gmailcom +++ b/two-sum/printjin-gmailcom @@ -5,4 +5,5 @@ class Solution: left = target - num if left in num_map: return [num_map[left], i] - num_map[num] = i \ No newline at end of file + num_map[num] = i + \ No newline at end of file From e0d479f48ef4f3c3f82bc443621391d2b4594f31 Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 14:47:01 +0900 Subject: [PATCH 05/11] Chore : Fix Lint Error --- two-sum/printjin-gmailcom | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/two-sum/printjin-gmailcom b/two-sum/printjin-gmailcom index 370b72e88..437d04e4b 100644 --- a/two-sum/printjin-gmailcom +++ b/two-sum/printjin-gmailcom @@ -5,5 +5,5 @@ class Solution: left = target - num if left in num_map: return [num_map[left], i] - num_map[num] = i - \ No newline at end of file + num_map[num] = i + From a4268c014be1bbd2eaa4dff46caf4764e8a5c6e4 Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 14:52:31 +0900 Subject: [PATCH 06/11] Solve : Longest Consecutive Sequence --- longest-consecutive-sequence/printjin-gmailcom | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 longest-consecutive-sequence/printjin-gmailcom diff --git a/longest-consecutive-sequence/printjin-gmailcom b/longest-consecutive-sequence/printjin-gmailcom new file mode 100644 index 000000000..7b7188efd --- /dev/null +++ b/longest-consecutive-sequence/printjin-gmailcom @@ -0,0 +1,13 @@ +class Solution: + def longestConsecutive(self, nums): + num_set = set(nums) + longest = 0 + for num in num_set: + if num - 1 not in num_set: + current = num + length = 1 + while current + 1 in num_set: + current += 1 + length += 1 + longest = max(longest, length) + return longest From 5c0063a1f9e28a3f3d9f1819d3e1ce7e00dcea10 Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 15:30:04 +0900 Subject: [PATCH 07/11] Solve : House Robber --- house-robber/printjin-gmailcom | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 house-robber/printjin-gmailcom diff --git a/house-robber/printjin-gmailcom b/house-robber/printjin-gmailcom new file mode 100644 index 000000000..35a4ac991 --- /dev/null +++ b/house-robber/printjin-gmailcom @@ -0,0 +1,9 @@ +class Solution: + def rob(self, nums): + num_map = {} + for i, num in enumerate(nums): + left = num_map.get(i - 2, 0) + leftleft = num_map.get(i - 3, 0) + num_map[i] = max(left + num, leftleft + num) + return max(num_map.get(len(nums) - 1, 0), num_map.get(len(nums) - 2, 0)) + \ No newline at end of file From 9ab9604f09e9515f459fd5bab4da2082b258bcf6 Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 15:31:56 +0900 Subject: [PATCH 08/11] Chore : Fix Lint Error --- house-robber/printjin-gmailcom | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/house-robber/printjin-gmailcom b/house-robber/printjin-gmailcom index 35a4ac991..de03a9232 100644 --- a/house-robber/printjin-gmailcom +++ b/house-robber/printjin-gmailcom @@ -6,4 +6,4 @@ class Solution: leftleft = num_map.get(i - 3, 0) num_map[i] = max(left + num, leftleft + num) return max(num_map.get(len(nums) - 1, 0), num_map.get(len(nums) - 2, 0)) - \ No newline at end of file + From 62e559f526e2cbcf8e20253187a31ad5b73ba2ea Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 15:44:27 +0900 Subject: [PATCH 09/11] Solve : Top K Frequent Elements --- top-k-frequent-elements/printjin-gmailcom | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 top-k-frequent-elements/printjin-gmailcom diff --git a/top-k-frequent-elements/printjin-gmailcom b/top-k-frequent-elements/printjin-gmailcom new file mode 100644 index 000000000..389c7b06d --- /dev/null +++ b/top-k-frequent-elements/printjin-gmailcom @@ -0,0 +1,6 @@ +class Solution: + def topKFrequent(self, nums, k): + nums_set = set(nums) + count_map = {num: nums.count(num) for num in nums_set} + sorted_nums = sorted(count_map, key=count_map.get, reverse=True) + return sorted_nums[:k] From a99226522f2dd5a3035deb9050e5fa1e20beb74b Mon Sep 17 00:00:00 2001 From: printjin Date: Fri, 4 Apr 2025 15:46:59 +0900 Subject: [PATCH 10/11] Chore : Top K Frequent Elements --- top-k-frequent-elements/printjin-gmailcom | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/top-k-frequent-elements/printjin-gmailcom b/top-k-frequent-elements/printjin-gmailcom index 389c7b06d..9e30def0d 100644 --- a/top-k-frequent-elements/printjin-gmailcom +++ b/top-k-frequent-elements/printjin-gmailcom @@ -1,6 +1,6 @@ +from collections import Counter + class Solution: def topKFrequent(self, nums, k): - nums_set = set(nums) - count_map = {num: nums.count(num) for num in nums_set} - sorted_nums = sorted(count_map, key=count_map.get, reverse=True) - return sorted_nums[:k] + count = Counter(nums) + return [num for num, _ in count.most_common(k)] From 8c95eed4cafccc4596f52cc5de90a1b97feda712 Mon Sep 17 00:00:00 2001 From: printjin Date: Sat, 5 Apr 2025 10:55:44 +0900 Subject: [PATCH 11/11] Append : .py Extensions To Files --- contains-duplicate/{printjin-gmailcom => printjin-gmailcom.py} | 0 house-robber/{printjin-gmailcom => printjin-gmailcom.py} | 0 .../{printjin-gmailcom => printjin-gmailcom.py} | 0 .../{printjin-gmailcom => printjin-gmailcom.py} | 0 two-sum/{printjin-gmailcom => printjin-gmailcom.py} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename contains-duplicate/{printjin-gmailcom => printjin-gmailcom.py} (100%) rename house-robber/{printjin-gmailcom => printjin-gmailcom.py} (100%) rename longest-consecutive-sequence/{printjin-gmailcom => printjin-gmailcom.py} (100%) rename top-k-frequent-elements/{printjin-gmailcom => printjin-gmailcom.py} (100%) rename two-sum/{printjin-gmailcom => printjin-gmailcom.py} (100%) diff --git a/contains-duplicate/printjin-gmailcom b/contains-duplicate/printjin-gmailcom.py similarity index 100% rename from contains-duplicate/printjin-gmailcom rename to contains-duplicate/printjin-gmailcom.py diff --git a/house-robber/printjin-gmailcom b/house-robber/printjin-gmailcom.py similarity index 100% rename from house-robber/printjin-gmailcom rename to house-robber/printjin-gmailcom.py diff --git a/longest-consecutive-sequence/printjin-gmailcom b/longest-consecutive-sequence/printjin-gmailcom.py similarity index 100% rename from longest-consecutive-sequence/printjin-gmailcom rename to longest-consecutive-sequence/printjin-gmailcom.py diff --git a/top-k-frequent-elements/printjin-gmailcom b/top-k-frequent-elements/printjin-gmailcom.py similarity index 100% rename from top-k-frequent-elements/printjin-gmailcom rename to top-k-frequent-elements/printjin-gmailcom.py diff --git a/two-sum/printjin-gmailcom b/two-sum/printjin-gmailcom.py similarity index 100% rename from two-sum/printjin-gmailcom rename to two-sum/printjin-gmailcom.py