1.遍历
class Solution {
public:
int findMin(vector<int>& nums) {
for(int i=1;i<nums.size();i++)
{
if(nums[i]<nums[i-1]) return nums[i];
}
return nums[0];
}
};
2.二分法
1 2 3 4 5
4 5 6 7 0 1 2 3
与右边值进行对比 然后缩小范围
class Solution {
public:
int findMin(vector<int>& nums) {
int l=0;
int r=nums.size()-1;
while(l<r)
{
int mid=l+(r-l)/2;
if(nums[r]<nums[mid])
l=mid+1;
else
r=mid;
}
return nums[l];
}
};