不明白这个思路
class Solution {
public:
int findMin(vector<int>& num) {
int size = num.size() - 1;
int l = 0;
int r = size;
while(l <= r) {
int mid = l + (r - l) / 2;
if (num[mid] > num[size]) {
//left
l = mid + 1;
} else {
r = mid - 1;
}
}
return num[l];
}
};
二分查找模板
while (l < r - 1) {
2 int m = l + (r - l) / 2;
3
4 // means that there is no rotate.
5 ... 这里添加各种退出条件,比如找到了目标值等 8
9 // left side is sorted.
10 if (A[m] > A[l]) {
11 l = m;
12 } else {
13 r = m;
14 }
15 }
转载于:https://www.cnblogs.com/yanqi110/p/4967379.html