upper_bound和lower_bound的二分查找底层实现
lower_bound(下界,上界,目标值)找到不小于目标值的位置,即大于等于
while(left<right){ int mid=left+(right-left)/2;//查找区间[left,right) if(target<nums[mid]){ left=mid+1; }else{ right=mid; } } return left;
upper_bound(下界,上界,目标值)找到大于目标值的位置
while(left<right){ int mid=left+(right-left)/2;//查找区间[left,right) if(target<=nums[mid]){ left=mid+1; }else{ right=mid; } } return left;