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

相关推荐
朝朝辞暮i5 分钟前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
Evand J39 分钟前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
weixin_307779132 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i2 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i3 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
Godspeed Zhao3 小时前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达
可乐ea3 小时前
Agent 模型分级升级路由:用置信度阈值把贵模型省下来
人工智能·算法·机器学习·结构化输出·置信度路由·模型升级路由·大模型成本优化
Navigator_Z4 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
Godspeed Zhao4 小时前
现代智能雷达技术18——算法(4)
算法
CHEEVEN_QY4 小时前
液冷板热阻计算与流阻优化的实战方法
人工智能·算法·机器学习