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();

相关推荐
Dev7z10 分钟前
基于Matlab实现GRACE卫星重力数据的全球水储量变化估算与分析
人工智能·算法·matlab
爱喝热水的呀哈喽43 分钟前
11题目汇总
算法
三斗米1 小时前
Transformer入门:一文读懂《Attention Is All You Need》
算法·架构
Swift社区1 小时前
LeetCode 458 - 可怜的小猪
算法·leetcode·职场和发展
AI科技星1 小时前
宇宙的像素:真空中一点如何编码无限星光
数据结构·人工智能·算法·机器学习·重构
程芯带你刷C语言简单算法题1 小时前
Day37~求组合数
c语言·开发语言·学习·算法·c
程序员-周李斌1 小时前
transmittable-thread-local[线程池跨线程值传递]
java·开发语言·算法·散列表
Flash.kkl2 小时前
优先算法专题十七——多源BFS
算法·宽度优先
Yzzz-F2 小时前
牛客小白月赛 D[差分] E [暴力枚举] F[] g[二阶差分]
算法
liliangcsdn2 小时前
DDPM前向加噪过程详细推导
人工智能·算法·机器学习