JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 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 }

 

posted on 2013-11-13 15:03  JasonChang  阅读(158)  评论(0编辑  收藏  举报