题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
class Solution {
public:
int findMin(vector<int>& nums) {
int n = nums.size();
if(!n) return -1;
while(nums[0] == nums[n - 1]) n--;
if(nums[n - 1] > nums[0]) return nums[0];
int l = 0 ,r = n - 1;
while(l < r){
int mid = l + r >> 1; // [l , mid ][mid + 1 , r]
//这里需要等号是因为 再划分图中,左半边是应该比nums[0]大或者等于,所以mid在左边时
//满足>=,且目标值应在右半区间
if(nums[mid] >= nums[0]){
l = mid + 1;
}else{
r = mid;
}
}
return nums[r];
}
};