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

相关推荐
海琴烟Sunshine1 分钟前
leetcode 263. 丑数 python
python·算法·leetcode
信仰_27399324310 分钟前
Guava Cache淘汰算法
算法·guava
散峰而望22 分钟前
C++入门(二) (算法竞赛)
开发语言·c++·算法·github
Cx330❀43 分钟前
《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用
java·开发语言·数据结构·c++·算法·面试
不染尘.1 小时前
2025_11_5_刷题
开发语言·c++·vscode·算法·贪心算法·动态规划
2501_929177581 小时前
C++中的虚基类
开发语言·c++·算法
Blossom.1182 小时前
把AI“贴”进路灯柱:1KB决策树让老旧路灯自己报「灯头松动」
java·人工智能·python·深度学习·算法·决策树·机器学习
墨染点香4 小时前
LeetCode 刷题【144. 二叉树的前序遍历】
数据结构·算法·leetcode
cynicme9 小时前
力扣3318——计算子数组的 x-sum I(偷懒版)
java·算法·leetcode
im_AMBER12 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法