【second】Search in Rotated Sorted Array
不要忘了考虑这种情况[3,1] 此时left == mid,A[left]==A[mid]
int search(int A[], int n, int target) { // Note: The Solution object is instantiated only once and is reused by each test case. int left = 0,right = n-1; while(left<=right) { int mid = left+(right-left)/2; if(A[mid]==target) return mid; if(A[left]<A[mid]) //left part is sorted { if(A[left]<=target&&target<A[mid]) right = mid-1; else left = mid+1; }else if(A[left]>A[mid]) //right part is sorted { if(A[mid]<target&&target<=A[right]) left = mid+1; else right = mid - 1; }else left++; 考虑left == mid的情况 } return -1; }