剑指 Offer 11. 旋转数组的最小数字
2021-03-11 12:28
标签:中间 数字 ber ret turn rgb return lse off 剑指 Offer 11. 旋转数组的最小数字 标签:中间 数字 ber ret turn rgb return lse off 原文地址:https://www.cnblogs.com/peanut-zh/p/14127047.html//二分查找法
class Solution {
public int minArray(int[] numbers) {
//定义左、右边界
int left = 0;
int right = numbers.length - 1;
while(left right){
//中间的元素
int mid = (left + right) / 2;
//若 居中的元素比右边界的元素大,则说明 最小元素在 【mid + 1,right】区间
if(numbers[mid] > numbers[right]){
left = mid + 1;
//若 居中元素比右边界的元素小,则说明 最小元素在 【left,mid】区间
} else if (numbers[mid] numbers[right]){
right = mid;
} else{//相等 去重
right--;
}
}
return numbers[left];
}
}
文章标题:剑指 Offer 11. 旋转数组的最小数字
文章链接:http://soscw.com/index.php/essay/63191.html