代码改变世界

leetcode - Search Insert Position

2013-10-19 21:39  张汉生  阅读(150)  评论(0编辑  收藏  举报

 1 class Solution {
 2 public:
 3     int searchInsert(int A[], int n, int target) {
 4         // Note: The Solution object is instantiated only once and is reused by each test case.
 5         if (n<=0)
 6             return-1;
 7         if (A[0]>=target)
 8             return 0;
 9         if (A[n-1]==target)
10             return n-1;
11         if (A[n-1]<target)
12             return n;
13         int left =0, right=n-1;
14         int mid = 0;
15         while (left + 1< right){
16             mid = (left+right)/2;
17             if (A[mid]==target)
18                 return mid;
19             else if (A[mid]>target)
20                 right = mid;
21             else left = mid;
22         }
23         return right;
24     }
25 };