<pre name="code" class="cpp">class Solution{
public:
int search(vector<int>& nums,int target){
int first=0,end=nums.size();
int mid=0;
while(first<end){
mid=(first+end)/2;
if(nums[mid]==target)
return mid;
if(nums[mid]>=nums[first]){
if(target>=nums[first]&&target<nums[mid]){
end=mid;
}
else{
first=mid+1;
}
}
else{
if(target>nums[mid]&&target<=nums[end-1]){
first=mid+1;
}
else{
end=mid;
}
}
}
return -1;
}
};