search-in-rotated-sorted-array
class Solution {
public:
int search(int A[], int n, int target) {
int L=0,R=n-1;
while(L<=R)
{
int mid=(R-L)/2+L;
if(A[mid]==target)return mid;
if(A[mid]>A[L])
{
if(target>=A[L]&&target<=A[mid])R=mid;
else L=mid+1;
}else if(A[mid]=A[mid]&&target<=A[R])L=mid;
else R=mid-1;
}else L++;
}
return -1;
}
};