33. 搜尋旋轉排序陣列/
阿新 • • 發佈:2019-01-01
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);
}
};