34. Find First and Last Position of Element in Sorted Array
代码:
class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
int low = lowwer_bound(nums,target);
int high = upper_bound(nums,target);
if(low == high)
return {-1,-1};
return {low,high-1};
}
int lowwer_bound(vector<int>& nums,int target)
{
int left = 0;
int right = nums.size();
int mid = 0;
while(left < right){
mid = left + ((right-left)>>1);
if(nums[mid]>=target){
right = mid;
}else{
left = mid + 1;
}
}
return left;
}
int upper_bound(vector<int>& nums,int target){
int left = 0;
int right = nums.size();
int mid = 0;
while(left < right){
mid = left + ((right - left)>>1);
if(nums[mid]>target){
right = mid;
}else{
left = mid +1;
}
}
return left;
}
};