就是二分法的一个简单的变形
class Solution {
public int minArray(int[] numbers) {
int l = 0, r = numbers.length - 1;
while(l < r){
if(numbers[l] >= numbers[r]){
int mid = (l + r) / 2;
if(numbers[mid] > numbers[l]){
l = mid;
}
else if(numbers[mid] < numbers[l]){
r = mid;
}
else{
l++;
}
}
else{
break;
}
}
return numbers[l];
}
}
原文:https://www.cnblogs.com/realzhaijiayu/p/13363161.html