Find Minimum in Rotated Sorted Array leetcode

时间:2023-03-09 15:41:15
Find Minimum in Rotated Sorted Array leetcode

原题链接

直接贴代码,这道题是

search in rotated sorted array leetcode

的前面部分!

 class Solution {
public:
int findMin(vector<int>& nums) {
if (nums.empty())
return -;
int res = find(nums, , nums.size()-);//好神奇,第二个参数无论减或者不减1,都不影响该题的结果
if (res == -)
return -;
return nums[res];
}
int find(vector<int>& nums, int l, int r)
{
if (l>r || l >= nums.size())
return -;
int mid = (l + r) / ;
if (nums[l] <= nums[mid])
{
int pos = find(nums, mid + , r);
if (pos == -)
return l;
return nums[l]<nums[pos] ? l : pos;
}
else
{
int pos = find(nums, l, mid - );
if (pos == -)
return mid;
return nums[mid]<nums[pos] ? mid : pos;
}
}
};