From 101b6e1f379fcc27b9823f186b747470a427fbe2 Mon Sep 17 00:00:00 2001 From: dohee789 Date: Tue, 22 Jul 2025 20:04:25 +0900 Subject: [PATCH 01/13] :necktie: contains-duplicate solution --- contains-duplicate/dohee789.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 contains-duplicate/dohee789.java diff --git a/contains-duplicate/dohee789.java b/contains-duplicate/dohee789.java new file mode 100644 index 0000000000..f685d3a2a0 --- /dev/null +++ b/contains-duplicate/dohee789.java @@ -0,0 +1,15 @@ +/* +https://leetcode.com/problems/contains-duplicate/ + */ +class Solution { + public boolean containsDuplicate(int[] nums) { + Set set = new HashSet(); + for(int n: nums){ + if(set.contains(n)){ + return true; + } + set.add(n); + } + return false; + } +} \ No newline at end of file From f6ef448c32076bb40a863501feef726c82bca4f8 Mon Sep 17 00:00:00 2001 From: dohee789 Date: Wed, 23 Jul 2025 20:00:12 +0900 Subject: [PATCH 02/13] :necktie: two-sum solution --- two-sum/dohee789.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 two-sum/dohee789.java diff --git a/two-sum/dohee789.java b/two-sum/dohee789.java new file mode 100644 index 0000000000..3c0722f425 --- /dev/null +++ b/two-sum/dohee789.java @@ -0,0 +1,20 @@ +/* +https://leetcode.com/problems/two-sum/ + */ +class Solution { + public int[] twoSum(int[] nums, int target) { + Map map = new HashMap<>(); + for(int i = 0; i < nums.length; i++){ + map.put(nums[i], i); + } + + for(int i = 0; i < nums.length; i++){ + if(map.containsKey(target - nums[i]) + && map.get(target - nums[i]) != i){ + int j = map.get(target - nums[i]); + return new int[]{i, j}; + } + } + return null; + } +} \ No newline at end of file From ba36c6cbf017a06ff27bf612e0f1f310864e214a Mon Sep 17 00:00:00 2001 From: dohee789 Date: Wed, 23 Jul 2025 20:05:18 +0900 Subject: [PATCH 03/13] :speech_balloon: modify line breaks --- contains-duplicate/dohee789.java | 2 ++ two-sum/dohee789.java | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/contains-duplicate/dohee789.java b/contains-duplicate/dohee789.java index f685d3a2a0..e004d9f393 100644 --- a/contains-duplicate/dohee789.java +++ b/contains-duplicate/dohee789.java @@ -4,12 +4,14 @@ class Solution { public boolean containsDuplicate(int[] nums) { Set set = new HashSet(); + for(int n: nums){ if(set.contains(n)){ return true; } set.add(n); } + return false; } } \ No newline at end of file diff --git a/two-sum/dohee789.java b/two-sum/dohee789.java index 3c0722f425..494903432f 100644 --- a/two-sum/dohee789.java +++ b/two-sum/dohee789.java @@ -4,17 +4,18 @@ class Solution { public int[] twoSum(int[] nums, int target) { Map map = new HashMap<>(); - for(int i = 0; i < nums.length; i++){ + + for(int i = 0; i < nums.length; i++) { map.put(nums[i], i); } - for(int i = 0; i < nums.length; i++){ - if(map.containsKey(target - nums[i]) - && map.get(target - nums[i]) != i){ + for(int i = 0; i < nums.length; i++) { + if(map.containsKey(target - nums[i]) && map.get(target - nums[i]) != i) { int j = map.get(target - nums[i]); return new int[]{i, j}; } } + return null; } } \ No newline at end of file From b406f6f2c19008fff574e109167b593b446de85b Mon Sep 17 00:00:00 2001 From: dohee789 Date: Wed, 23 Jul 2025 20:11:18 +0900 Subject: [PATCH 04/13] :speech_balloon: modify line breaks --- contains-duplicate/dohee789.java | 2 +- two-sum/dohee789.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contains-duplicate/dohee789.java b/contains-duplicate/dohee789.java index e004d9f393..7c9e8cc9cb 100644 --- a/contains-duplicate/dohee789.java +++ b/contains-duplicate/dohee789.java @@ -14,4 +14,4 @@ public boolean containsDuplicate(int[] nums) { return false; } -} \ No newline at end of file +} diff --git a/two-sum/dohee789.java b/two-sum/dohee789.java index 494903432f..2871b82c9d 100644 --- a/two-sum/dohee789.java +++ b/two-sum/dohee789.java @@ -18,4 +18,4 @@ public int[] twoSum(int[] nums, int target) { return null; } -} \ No newline at end of file +} From e2a17cef8b0bd0fd42c5039b62cadd900e49d6da Mon Sep 17 00:00:00 2001 From: dohee789 Date: Wed, 23 Jul 2025 20:26:59 +0900 Subject: [PATCH 05/13] :zap: improve two-sum solution --- two-sum/dohee789.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/two-sum/dohee789.java b/two-sum/dohee789.java index 2871b82c9d..a0d0ad0502 100644 --- a/two-sum/dohee789.java +++ b/two-sum/dohee789.java @@ -6,16 +6,14 @@ public int[] twoSum(int[] nums, int target) { Map map = new HashMap<>(); for(int i = 0; i < nums.length; i++) { - map.put(nums[i], i); - } - - for(int i = 0; i < nums.length; i++) { - if(map.containsKey(target - nums[i]) && map.get(target - nums[i]) != i) { + if(map.containsKey(target - nums[i])) { int j = map.get(target - nums[i]); return new int[]{i, j}; } + map.put(nums[i], i); } return null; } } + From fd0d2218f1a115627a67363ec2e1092e3496275d Mon Sep 17 00:00:00 2001 From: dohee789 Date: Wed, 23 Jul 2025 20:51:07 +0900 Subject: [PATCH 06/13] :goal_net: modify two-sum solution --- two-sum/dohee789.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/two-sum/dohee789.java b/two-sum/dohee789.java index a0d0ad0502..08afb456a7 100644 --- a/two-sum/dohee789.java +++ b/two-sum/dohee789.java @@ -8,7 +8,7 @@ public int[] twoSum(int[] nums, int target) { for(int i = 0; i < nums.length; i++) { if(map.containsKey(target - nums[i])) { int j = map.get(target - nums[i]); - return new int[]{i, j}; + return new int[]{j, i}; } map.put(nums[i], i); } From 476d86f213100f39fc6137b0ccc889f90822bdea Mon Sep 17 00:00:00 2001 From: dohee789 Date: Mon, 4 Aug 2025 20:53:18 +0900 Subject: [PATCH 07/13] :necktie: top-k-frequent-elements solution --- top-k-frequent-elements/dohee789.java | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 top-k-frequent-elements/dohee789.java diff --git a/top-k-frequent-elements/dohee789.java b/top-k-frequent-elements/dohee789.java new file mode 100644 index 0000000000..9de7f19748 --- /dev/null +++ b/top-k-frequent-elements/dohee789.java @@ -0,0 +1,31 @@ +/* +https://leetcode.com/problems/top-k-frequent-elements/ + */ +class Solution { + public int[] topKFrequent(int[] nums, int k) { + Map freqMap = new HashMap<>(); + for(int num: nums){ + freqMap.put(num, freqMap.getOrDefault(num,0)+1); + } + + PriorityQueue> minHeap = new PriorityQueue<>( + Comparator.comparingInt(Map.Entry::getValue) + ); + + for (Map.Entry entry : freqMap.entrySet()) { + minHeap.offer(entry); + if (minHeap.size() > k) { + minHeap.poll(); + } + } + + int[] result = new int[k]; + for (int i = 0; i < k; i++) { + result[i] = minHeap.poll().getKey(); + } + + return result; + + } +} + From 1620167454b4028269e592a060bf2751f03c7596 Mon Sep 17 00:00:00 2001 From: dohee789 Date: Tue, 5 Aug 2025 21:00:34 +0900 Subject: [PATCH 08/13] :necktie: longest-consecutive-sequence solution --- longest-consecutive-sequence/dohee789.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 longest-consecutive-sequence/dohee789.java diff --git a/longest-consecutive-sequence/dohee789.java b/longest-consecutive-sequence/dohee789.java new file mode 100644 index 0000000000..9f4580c624 --- /dev/null +++ b/longest-consecutive-sequence/dohee789.java @@ -0,0 +1,25 @@ +/* +https://leetcode.com/problems/longest-consecutive-sequence/ + */ +class Solution { + public int longestConsecutive(int[] nums) { + Set set = new HashSet<>(); + for(int num: nums){ + set.add(num); + } + + int maxLength = 0; + for(int num: set){ + if(!set.contains(num-1)){ + int currentNum = num; + int length = 1; + while(set.contains(currentNum+1)){ + currentNum++; + length++; + } + maxLength = Math.max(maxLength,length); + } + } + return maxLength; + } +} \ No newline at end of file From 0b7dff6772a6590e5c38560854837270dda63f66 Mon Sep 17 00:00:00 2001 From: dohee789 Date: Thu, 7 Aug 2025 19:40:41 +0900 Subject: [PATCH 09/13] :necktie: house-robber solution --- house-robber/dohee789.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 house-robber/dohee789.java diff --git a/house-robber/dohee789.java b/house-robber/dohee789.java new file mode 100644 index 0000000000..c820e003a5 --- /dev/null +++ b/house-robber/dohee789.java @@ -0,0 +1,21 @@ +/* +https://leetcode.com/problems/house-robber/ + */ +class Solution{ + public int rob(int[] nums){ + if(nums.length == 0 || nums == null) return 0; + if(nums.length == 1) return 0; + + int prev1 = 0; + int prev2 = 0; + for(int num: nums){ + int temp = Math.max(prev1, prev2+num); + prev2 = prev1; + prev1 = temp; + } + + return prev1; + } +} + + From 63adcb0ce4dacf29b85713c8d86a35812b67b96f Mon Sep 17 00:00:00 2001 From: dohee789 Date: Thu, 7 Aug 2025 19:44:15 +0900 Subject: [PATCH 10/13] :speech_balloon: modify line breaks --- longest-consecutive-sequence/dohee789.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/longest-consecutive-sequence/dohee789.java b/longest-consecutive-sequence/dohee789.java index 9f4580c624..eaf7ce6d92 100644 --- a/longest-consecutive-sequence/dohee789.java +++ b/longest-consecutive-sequence/dohee789.java @@ -22,4 +22,5 @@ public int longestConsecutive(int[] nums) { } return maxLength; } -} \ No newline at end of file +} + From 73efe535a3d06b77495237fb4a4717dbdcd72fac Mon Sep 17 00:00:00 2001 From: dohee789 Date: Mon, 25 Aug 2025 18:57:08 +0900 Subject: [PATCH 11/13] :necktie: valid-anagram solution --- valid-anagram/dohee789.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 valid-anagram/dohee789.java diff --git a/valid-anagram/dohee789.java b/valid-anagram/dohee789.java new file mode 100644 index 0000000000..b394ec91ca --- /dev/null +++ b/valid-anagram/dohee789.java @@ -0,0 +1,19 @@ +/* +https://leetcode.com/problems/valid-anagram/description/ + */ +class Solution { + public boolean isAnagram(String s, String t) { + if (s.length() != t.length()) return false; + + char a[] = s.toCharArray(); + char b[] = t.toCharArray(); + + Array.sort(a); + Array.sort(b); + + returnArray.equals(a,b); + } +} + + + From bbf7872104080a1517065427dc62a529855d6da3 Mon Sep 17 00:00:00 2001 From: dohee789 Date: Mon, 25 Aug 2025 18:57:28 +0900 Subject: [PATCH 12/13] :necktie: climbing-stairs solution --- climbing-stairs/dohee789.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 climbing-stairs/dohee789.java diff --git a/climbing-stairs/dohee789.java b/climbing-stairs/dohee789.java new file mode 100644 index 0000000000..93f42b6c43 --- /dev/null +++ b/climbing-stairs/dohee789.java @@ -0,0 +1,23 @@ +/* +https://leetcode.com/problems/climbing-stairs/ + */ +class Solution { + public int climbStairs(int n) { + if (n <= 2) return n; + + int a = 1; + int b = 2; + int result = 0; + + for (int i = 3; i <= n; i++){ + result = a + b; + a = b; + b = result; + } + + return result; + } +} + + + From caabec4a22cb9d36cca19bdaf2ab2875bb7b13b5 Mon Sep 17 00:00:00 2001 From: dohee789 Date: Mon, 25 Aug 2025 18:57:42 +0900 Subject: [PATCH 13/13] :necktie: product-of-array-except-self solution --- product-of-array-except-self/dohee789.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 product-of-array-except-self/dohee789.java diff --git a/product-of-array-except-self/dohee789.java b/product-of-array-except-self/dohee789.java new file mode 100644 index 0000000000..1048aeee27 --- /dev/null +++ b/product-of-array-except-self/dohee789.java @@ -0,0 +1,25 @@ +/* +https://leetcode.com/problems/product-of-array-except-self/ + */ +class Solution { + public int[] productExceptSelf(int[] nums) { + int n = nums.length; + int[] result = new int[n]; + + result[0] = 1; + for (int i = 1; i < n; i++) { + result[i] = result[i - 1] * nums[i - 1]; + } + + int right = 1; + for (int i = n - 1; i >= 0; i--) { + result[i] *= right; + right *= nums[i]; + } + + return result; + } +} + + +