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

相关推荐
小白程序员成长日记7 小时前
2025.12.01 力扣每日一题
算法·leetcode·职场和发展
爱装代码的小瓶子7 小时前
【cpp知识铺子】map和set的前身-二叉搜索树
c++·算法
TL滕8 小时前
从0开始学算法——第四天(练点题吧)
数据结构·笔记·学习·算法
[J] 一坚8 小时前
华为OD、微软、Google、神州数码、腾讯、中兴、网易有道C/C++字符串、数组、链表、树等笔试真题精粹
c语言·数据结构·c++·算法·链表
多则惑少则明8 小时前
【算法题4】找出字符串中的最长回文子串(Java版)
java·开发语言·数据结构·算法
迷途之人不知返8 小时前
二叉树题目
数据结构·算法
优宁维生物9 小时前
DNA 提取的基础方法
人工智能·算法
@Aurora.9 小时前
优选算法【专题二:滑动窗口】
算法
小石头 100869 小时前
【Java】String类(超级详细!!!)
java·开发语言·算法
.柒宇.9 小时前
力扣hot100---42.接雨水(java版)
java·算法·leetcode