1 public class Solution {
2 public int search(int[] A, int target) {
3 // IMPORTANT: Please reset any member data you declared, as
4 // the same Solution instance will be reused for each test case.
5 if(A == null)
6 return -1;
7 int left = 0;
8 int right = A.length - 1;
9 while(left <= right)
10 {
11 int mid = (left + right) / 2;
12 if(A[mid] == target)
13 return mid;
14 if(A[left] <= A[mid])
15 {
16 if(target < A[mid] && target >= A[left])
17 right = mid - 1;
18 else
19 left = mid + 1;
20 }
21 else
22 {
23 if(target > A[mid] && target <= A[right]){
24 left = mid + 1;
25 }
26 else
27 {
28 right = mid - 1;
29 }
30 }
31 }
32 return -1;
33 }
34 }