题解 | #在升序数组中查找元素的位置#

在升序数组中查找元素的位置

https://www.nowcoder.com/practice/f2628d9f7b7d4568aebaae6556aacfe0

class Solution {
public:
    vector<int> searchRange(vector<int>& nums, int target) {
    int a = 0, b = 0;
        int l = 0, r = nums.size() - 1;
        while (l < r) {
            int m = (l + r) >> 1;
            if (nums[m] >= target)
               r = m;
            else 
                l = m + 1;
        }
        if (nums[l] != target) {
         return { -1,-1 };
         }
         else {
              a = l;
           int l = 0, r = nums.size() - 1;
           while (l < r) {
                int m = (l + r + 1) >> 1;
                if (nums[m] <= target)l = m;
                else
                    r = m + 1;
                b = l;
            }
        }
        return { a,b };
    }
};

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务