leetcode:Search for a Range

来源:互联网 发布:数据段offset什么意思 编辑:程序博客网 时间:2024/06/05 05:48
class Solution {public:    int searchLowerBound(int A[], int n, int target)    {        int left=0,right=n-1,res=-1;        while(left<=right)        {            int mid = left+((right-left)>>1);            if(A[mid]<target)                left = mid+1;            else if(A[mid]>target)                right = mid-1;            else            {                res = mid;                right = mid-1;            }        }        return res;    }         int searchHigherBound(int A[], int n, int target)    {        int left=0,right=n-1,res=-1;        while(left<=right)        {            int mid = left+((right-left)>>1);            if(A[mid]<target)                left = mid+1;            else if(A[mid]>target)                right = mid-1;            else            {                res = mid;                left = mid+1;            }        }        return res;    }        vector<int> searchRange(int A[], int n, int target) {        vector<int> res;        res.push_back(searchLowerBound(A,n,target));        res.push_back(searchHigherBound(A,n,target));        return res;    }};

0 0
原创粉丝点击