不明白这个思路
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 }