刷
June-21-2019
找到最小值。
二分,通过M和R的大小判断最小值在哪边,最后停留的位置[A, B]里AB的大小为止,所以比较一下。
public int findMin(int[] nums) {
int l = 0, r = nums.length - 1;
while (l + 1 < r) {
int m = l + (r - l) / 2;
if (nums[m] > nums[r]) {
l = m;
} else {
r = m;
}
}
return Math.min(nums[l], nums[r]);
}