We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0720200 commit 6552aefCopy full SHA for 6552aef
find-minimum-in-rotated-sorted-array/jaejeong1.java
@@ -0,0 +1,23 @@
1
+class Solution {
2
+ public int findMin(int[] nums) {
3
+ // TC: O(log N)
4
+ // SC: O(1)
5
+ var left = 1; // N번 회전해 이미 오름차순 정렬일 경우 0으로 시작하면 루프가 안끝남. 1로 시작
6
+ var right = nums.length-1;
7
+
8
+ while (left <= right) { // left가 right보다 작거나 같을때까지
9
+ var mid = (left + right) / 2;
10
+ if (nums[mid - 1] > nums[mid]) { // mid - 1 요소가 mid 보다 값이 크면 변곡점을 찾은 것. 그대로 반환
11
+ return nums[mid];
12
+ }
13
14
+ if (nums[mid] > nums[0]) { // 변곡점이 아니고, 0번째 인덱스보다 mid 요소가 값이 크면 정렬이 잘 되어 있는것. 오른쪽으로 탐색
15
+ left = mid + 1;
16
+ } else {
17
+ right = mid - 1;
18
19
20
21
+ return nums[0]; // N번 회전해 이미 오름차순 정렬일 경우 0번째 인덱스 요소 반환
22
23
+}
0 commit comments