JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

simple recursion programming problem

else if(target < A[mid])
  return binarySearch(A, start, mid, target);
else
  return binarySearch(A, mid+1, end, target);

 1 public class Solution {
 2     public int searchInsert(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         return search(A, 0 , A.length, target);
 6     }
 7     private int search(int[] A, int start, int end, int target)
 8     {
 9         if(start == end)
10             return start;
11         int tmp = (start + end) / 2;
12         if(A[tmp] == target)
13             return tmp;
14         else if(A[tmp] < target)
15             return search(A, tmp+1, end, target);
16         else
17             return search(A, start, tmp, target);
18     }
19 }

 

posted on 2013-11-05 15:47  JasonChang  阅读(222)  评论(0编辑  收藏  举报