From 5e2292a7c070660fb24ca0e924470ce18f8fd830 Mon Sep 17 00:00:00 2001 From: mintheon Date: Sun, 2 Feb 2025 02:42:25 +0900 Subject: [PATCH 1/3] linked list cycle solved --- linked-list-cycle/mintheon.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 linked-list-cycle/mintheon.java diff --git a/linked-list-cycle/mintheon.java b/linked-list-cycle/mintheon.java new file mode 100644 index 000000000..feb7a1899 --- /dev/null +++ b/linked-list-cycle/mintheon.java @@ -0,0 +1,28 @@ +/** + * Definition for singly-linked list. + * class ListNode { + * int val; + * ListNode next; + * ListNode(int x) { + * val = x; + * next = null; + * } + * } + */ +//시간복잡도: O(n) +//공간복잡도: O(1) +public class Solution { + public boolean hasCycle(ListNode head) { + ListNode slow = head; + ListNode fast = head; + + while(fast != null && fast.next != null) { + slow = slow.next; + fast = fast.next.next; + + if(slow == fast) return true; + } + + return false; + } +} From 2123c0c9376f2fa59e888675d7b5fc9e87c87057 Mon Sep 17 00:00:00 2001 From: mintheon Date: Sun, 2 Feb 2025 03:26:30 +0900 Subject: [PATCH 2/3] find minimum in rotated sorted array solved --- find-minimum-in-rotated-sorted-array/mintheon.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 find-minimum-in-rotated-sorted-array/mintheon.java diff --git a/find-minimum-in-rotated-sorted-array/mintheon.java b/find-minimum-in-rotated-sorted-array/mintheon.java new file mode 100644 index 000000000..ad0b69561 --- /dev/null +++ b/find-minimum-in-rotated-sorted-array/mintheon.java @@ -0,0 +1,13 @@ +class Solution { + // 시간복잡도: O(n) + // 공간복잡도: O(1) + public int findMin(int[] nums) { + for(int i = 1; i < nums.length; i++) { + if(nums[i - 1] > nums[i]) { + return nums[i]; + } + } + + return nums[0]; + } +} From 71da372b9784a24d87bb2a4b4ecb7c45252afe55 Mon Sep 17 00:00:00 2001 From: mintheon Date: Thu, 6 Feb 2025 01:26:43 +0900 Subject: [PATCH 3/3] maximum product subarray solved --- maximum-product-subarray/mintheon.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 maximum-product-subarray/mintheon.java diff --git a/maximum-product-subarray/mintheon.java b/maximum-product-subarray/mintheon.java new file mode 100644 index 000000000..d6cdc86c9 --- /dev/null +++ b/maximum-product-subarray/mintheon.java @@ -0,0 +1,26 @@ +class Solution { + //시간복잡도: O(n) + //공간복잡도: O(n) + public int maxProduct(int[] nums) { + int[] maxValue = new int[nums.length]; + int[] minValue = new int[nums.length]; + + maxValue[0] = nums[0]; + minValue[0] = nums[0]; + + for(int i = 1; i < nums.length; i++) { + int value1 = maxValue[i - 1] * nums[i]; + int value2 = minValue[i - 1] * nums[i]; + + maxValue[i] = Math.max(Math.max(value1, value2), nums[i]); + minValue[i] = Math.min(Math.min(value1, value2), nums[i]); + } + + int result = Integer.MIN_VALUE; + for(int i = 0; i < nums.length; i++) { + result = Math.max(result, maxValue[i]); + } + + return result; + } +}