int findMin(vector<int>& nums)//解法1
{
int ret = INT_MAX;
for(auto e : nums)
{
if(e<ret) ret = e;
}
return ret;
}
解法2:
cpp复制代码
int findMin(vector<int>& nums)//解法2:d为分界点
{
int n = nums.size();
int left = 0,right = n-1;
while(left < right)
{
int mid = left + (right - left)/2;
if(nums[mid]>nums[n-1]) left = mid + 1;
else right = mid;
}
return nums[right];
}
解法3:
cpp复制代码
int findMin(vector<int>& nums)//解法3:a为分界点
{
int n = nums.size();
if(nums[0]<nums[n-1]) return nums[0];
int left = 0,right = n-1;
while(left < right)
{
int mid = left + (right - left)/2;
if(nums[mid]<nums[0]) right = mid;
else left = mid + 1;
}
return nums[right];
}