search for range

 1 class Solution {
 2 public:
 3     vector<int> searchRange(int A[], int n, int target) {
 4         // Start typing your C/C++ solution below
 5         // DO NOT write int main() function
 6         vector<int> v(2,-1);
 7  
 8         int l = 0, m , r = n-1;
 9         
10         while( l<=r )
11         {
12             m = l + (r-l)/2;
13             if(A[m]<target)
14                 l = m+1;
15             else
16                 r = m - 1;
17         }
18         if( l<n && A[l] == target ) v[0] = l;
19         else return v;
20         
21         l = l+1; r = n - 1;
22         while( l<=r )
23         {
24             m = l + (r-l)/2;
25             if(A[m]<=target)
26                 l = m+1;
27             else
28                 r = m - 1;
29         }
30         if( r>=0 && A[r] == target ) v[1] = r;
31         
32         return v;
33            
34     }
35 };

 

 

posted on 2013-07-03 17:49  jumping_grass  阅读(141)  评论(0)    收藏  举报

导航