數組補題
class Solution {
public:
int search(vector<int>& nums, int target) {
int len=nums.size();
int temp=-1;
int left=0,right=len-1;
while(left<=right){
int mid=(left+right)/2;
if(target==nums[right]){ temp=right; break; }
else if(target==nums[left]){ temp=left; break;}
else if(target==nums[mid]){ temp=mid; break;}
else if(target<nums[right]) {
if(nums[mid]>nums[right] || target>nums[mid]) left=mid+1;
else right=mid-1;
}
else if(target>nums[left]) {
if(nums[mid]>nums[left] && target>nums[mid]) left=mid+1;
else right=mid-1;
}
else break;
}
return temp;
}
};