JZ06 旋转数组的最小数字

本文最后更新于:2022年4月9日 中午

image-20211006102935717

Solution

  • 二分查找
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
int minNumberInRotateArray(vector<int> rotateArray) {
int n = rotateArray.size();
if (n == 0) return 0;
int l = 0, r = n - 1;
while (l < r) {
int mid = l + ((r - l)>>1);
// 二分查找,让 arr[mid] 和 target(右端值) 比较
if (rotateArray[mid] < rotateArray[r]) r = mid;
else if (rotateArray[mid] == rotateArray[r]) r = r - 1;
else l = mid + 1;
}
return rotateArray[l];
}
};

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!