153. 寻找旋转排序数组中的最小值

leetcode链接:
https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/description/

方案一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int left = 0, 
right = nums.length - 1,
mid = 0,
end =nums.length - 1;
if (nums[0] <= nums[end])
return nums[0];
while (left <= right) {
mid = left + (right - left) / 2;
if (nums[mid] > nums[end]) {
left = mid + 1;
} else {
right = mid - 1;
}
if (nums[mid] > nums[mid + 1] ) {
return nums[mid + 1];
}
}
return nums[mid + 1];

结果

  • 150/150 cases passed (0 ms)
  • Your runtime beats 100 % of java submissions
  • Your memory usage beats 53.28 % of java submissions (41.1 MB)

分析

时间复杂度:
O( log n )

空间复杂度:
O( 1 )

几乎最优方案

https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/solution/xun-zhao-xuan-zhuan-pai-xu-shu-zu-zhong-5irwp/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public int findMin(int[] nums) {
int low = 0;
int high = nums.length - 1;
while (low < high) {
int pivot = low + (high - low) / 2;
if (nums[pivot] < nums[high]) {
high = pivot;
} else {
low = pivot + 1;
}
}
return nums[low];
}
}

作者:LeetCode-Solution
链接:https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/solution/xun-zhao-xuan-zhuan-pai-xu-shu-zu-zhong-5irwp/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

153. 寻找旋转排序数组中的最小值
http://yuanql.top/2023/04/01/02_leetcode/153. 寻找旋转排序数组中的最小值/
作者
Qingli Yuan
发布于
2023年4月1日
许可协议