class Solution {
public:
int search(vector<int>& nums, int target) {
int k=0;
int obj;
for(int i=0;i<nums.size()-1;i++){
if(nums[i]>nums[i+1])
{
k=i+1;
break;
}
}
obj=middleSlice(nums,0,k-1,target);
if(obj!=-1)
return obj;
else
return middleSlice(nums,k,nums.size()-1,target);
}
//找到返回索引,否则返回-1 这里的start和end都是索引
int middleSlice(vector<int>&nums,int start,int end,int obj){
while(start<=end){
int middle=(start+end)/2;
if(nums[middle]==obj)
return middle;
else if(nums[middle]>obj){
end=middle-1;
}
else
start=middle+1;
}
return -1;
}
};