1、二分查找的简单应用
class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
int left=0,right=nums.size()-1;
int mid=(left+right)>>1,p=-1;
while (left<=right){
if (nums[mid]==target){
p=mid;
break;
} else if (nums[mid]>target){
right=mid-1;
} else{
left=mid+1;
}
mid=(left+right)>>1;
}
if (p==-1)
return {-1,-1};
else{
int l=p,r=p;
while (l>0&&nums[l-1]==target)l--;
while (r<nums.size()-1&&nums[r+1]==target)r++;
return {l,r};
}
}
};
2、
在这里插入代码片