Search for a Range

来源:互联网 发布:婚前性行为 佛教 知乎 编辑:程序博客网 时间:2024/06/03 19:08
class Solution {public:    vector<int> searchRange(vector<int>& nums, int target)     {        const int n=nums.size();        vector<int> res(2,-1);                int start=0;int end=n-1;        while(start<=end)        {            int mid=start+(end-start)/2;            if(nums[mid]>target)                end=mid-1;            else if(nums[mid]<target)                start=mid+1;            else            {                if(mid==0 || nums[mid-1]!=target)                {                    res.clear();                    res.push_back(mid);                    break;                }                    else                    end=mid-1;            }        }                start=0; end =n-1;        while(start<=end)        {            int mid=start+(end-start)/2;            if(nums[mid]>target)                end=mid-1;            else if(nums[mid]<target)                start=mid+1;            else            {                if(mid==n-1 || nums[mid+1]!=target)                {                    res.push_back(mid);                    break;                }                    else                    start=mid+1;            }        }                return res;                    }};

0 0
原创粉丝点击