用二分查找法来解决:
class Solution {
public:
int findMin(vector<int>& nums) {
int left = 0, right = nums.size() - 1;
while (right > left) {
int mid = left + (right - left) / 2;
if (nums[left] < nums[right]) return nums[left];
else if (nums[mid] > nums[right]) left = mid + 1;
else right = mid;
}
return nums[right];
}
};