把mid和nums[0]对比来缩小区间,防止最后nums是升序的,最后加了一个判断nums[0] < nums[l] 是否成立。
class Solution {public:int findMin(vector<int>& nums) {if(!nums.size()) return 0;int l = 0, r = nums.size() - 1;while(l < r){int mid = (l + r) >> 1;// cout << mid << endl;if(nums[0] <= nums[mid])//这里的比较l = mid + 1;else r = mid;}return nums[0] < nums[l]? nums[0]: nums[l];}};
**
