Search in Rotated Sorted Array II
bool search(int A[], int n, int target) { // Note: The Solution object is instantiated only once and is reused by each test case. int begin = 0,end = n-1; while(begin<=end) { int mid = begin+(end-begin)/2; if(A[mid]==target) return true; if(A[begin]<A[mid])//left part is sorted { if(A[begin]<=target&&target<A[mid]) end = mid-1; else begin = mid+1; }else if(A[begin]>A[mid]) //right part is sorted { if(A[mid]<target&&target<=A[end]) begin = mid+1; else end = mid-1; }else begin++; } return false; }