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

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

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;
        if(nums.size()==0)return {-1,-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 };
		}
		
	}
};

全部评论

相关推荐

mama3925:灵神是天才,路线不适合正常人
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务