【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】
题意:
给定一个有序数组,该有序数组还有可能是两段有序,比如4 5 6 1 2 3
思路:
使用暴力循环或者二分都行
暴力版
class Solution
{
public:
int findMin(vector<int>& nums)
{
int len = nums.size();
int minn = nums[0];
for(int i = 1; i<len; i++)
minn = min(minn,nums[i]);
return minn;
}
};
二分法
class Solution
{
public:
int findMin(vector<int>& nums)
{
int len = nums.size();
int l = 0,r = len-1;
while(l<=r)
{
int mid = (l+r)/2;
if(nums[mid]>nums[len-1])
l = mid+1;
else
r = mid-1;
}
return nums[l];
}
};