版权声明:只要梦想一天,只要梦想存在一天,就可以改变自己的处境。 https://blog.csdn.net/dongyanwen6036/article/details/85399405
33. 搜索旋转排序数组
class Solution {
public:
int Bsearch(vector<int>& nums, int target,int low,int high)
{
while (low <= high)
{
int mid = (low + high) / 2;
if (nums[mid] == target)return mid;
if (nums[low] <= nums[mid])
{
if (target<nums[mid] &&target>=nums[low])
high = mid - 1;
else
low = mid + 1;
}
else
{
if (target>nums[mid] && target<nums[low])
low = mid + 1;
else
high = mid - 1;
}
}
return -1;
}
int search(vector<int>& nums, int target) {
return Bsearch( nums, target,0,nums.size()-1);
}
};