class Solution {
public int findMin(int[] nums) {
int result = nums[0];
int l = 0, r = nums.length - 1;
while (l <= r) {
int m = (l + r) >> 1;
if (nums[l] <= nums[m]) {
// 从l到m有序
if (nums[l] < result) {
result = nums[l];
}
l = m + 1;
} else {
// 从m到r有序
if (nums[m] < result) {
result = nums[m];
}
r = m - 1;
}
}
return result;
}
}
leetcode 153. 寻找旋转排序数组中的最小值(优质解法)
2024-07-10 23:30:05 56 阅读