题目
https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-ii/
二分查找
解题关键:通过nums[mid] 与 nums[hi] 的大小关系来缩小搜索区间
class Solution {
public int findMin(int[] nums) {
// 确定搜索范围[lo, hi]
int lo = 0;
int hi = nums.length - 1;
while (lo < hi) {
int mid = lo + (hi - lo) / 2;
if (nums[mid] > nums[hi]) {
lo = mid + 1;
} else if (nums[mid] < nums[hi]) {
hi = mid;
} else {
// 无法确定最小值在mid的哪一侧
// 可以改为线性搜索 或者 h--
hi--;
}
}
return nums[lo];
}
}