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

相关推荐
OYangxf4 分钟前
力扣hot100【子串专题】
算法·leetcode·职场和发展
WL_Aurora10 分钟前
Python 算法基础篇之元组与列表
python·算法
Brilliantwxx11 分钟前
【算法题】递归树+哈希表+分治异或+双指针
开发语言·c++·笔记·算法
yugi98783811 分钟前
经典三维表面重建算法(C语言实现)
c语言·开发语言·算法
无限进步_14 分钟前
【C++】智能指针族谱:auto_ptr、unique_ptr、shared_ptr
java·开发语言·数据结构·c++·算法
Brilliantwxx15 分钟前
【C++】Stack和Queue(初认识和算法题OJ)
开发语言·c++·笔记·算法
fffzd18 分钟前
C++入门(二)
开发语言·c++·算法·函数重载·引用·inline内联函数·nullptr
傻瓜搬砖人19 分钟前
c语言绿皮书第三版第十章习题
c语言·开发语言·算法
Lazionr23 分钟前
数据结构堆详解:原理、实现与应用
数据结构·算法
故事和你9128 分钟前
蓝桥杯-2026年C++B组省赛
开发语言·数据结构·c++·算法·蓝桥杯·动态规划·图论