lower_bound()以及upper_bound()

lower_bound():

lower_bound()的返回值是第一个大于等于 target 的值的地址,用这个地址减去first,得到的就是第一个大于等于target的值的下标。

在数组中:

int pos=lower_bound(a,a+n,target)-a;\\n为数组长度

vector容器中:

int pos=lower_bound(a.begin(),a.end(),target)-a.begin();

upper_bound():

从小到大 的排好序的数组中,在数组的 [begin, end) 区间中二分查找第一个大于value的数,找到返回该数字的地址,没找到则返回end。用这个地址减去first,得到的就是第一个大于等于target的值的下标。

在数组中:

int pos=upper_bound(a,a+n,target)-a;\\n为数组长度

vector容器中:

int pos=upper_bound(a.begin(),a.end(),target)-a.begin();

相关推荐
MicroTech202511 小时前
MLGO微算法科技发布突破性运动想象脑机接口算法,高精度与低复杂度兼得
科技·算法
cici1587411 小时前
基于不同算法的数字图像修复Matlab实现
算法·计算机视觉·matlab
Savior`L18 小时前
二分算法及常见用法
数据结构·c++·算法
mmz120719 小时前
前缀和问题(c++)
c++·算法·图论
努力学算法的蒟蒻19 小时前
day27(12.7)——leetcode面试经典150
算法·leetcode·面试
甄心爱学习20 小时前
CSP认证 备考(python)
数据结构·python·算法·动态规划
kyle~21 小时前
排序---常用排序算法汇总
数据结构·算法·排序算法
AndrewHZ21 小时前
【遥感图像入门】DEM数据处理核心算法与Python实操指南
图像处理·python·算法·dem·高程数据·遥感图像·差值算法
CoderYanger21 小时前
动态规划算法-子序列问题(数组中不连续的一段):28.摆动序列
java·算法·leetcode·动态规划·1024程序员节