算法基础·C++常用操作

lower_bound:二分查找

  • 查找原则是a[mid] > = target的左边界,也就第一个大于等于target的数,返回是对应的内存地址
  • 注意:需要减去起始地址得到下标idx

离散化:获得新下标用法:idx = lower_bound(a.begin()+1,a.begin()+len+1,a[i])-a

教程:C++ lower_bound()函数用法详解

unique:去重函数

  • 已经排序 的数组a进行元素去重处理,左闭右开 ,返回的是去重后的数组最后一个元素的下一个元素的迭代器或者内存地址。

前置条件:数组必须有序。

获得去重后的数组长度用法:newlen = unique(a+1,a+alen+1)-a-1

教程:unique函数用法讲解

相关推荐
柒儿吖1 小时前
基于 lycium 在 OpenHarmony 上交叉编译 komrad36-CRC 完整实践
c++·c#·harmonyos
草莓熊Lotso1 小时前
Linux 程序地址空间深度解析:虚拟地址背后的真相
java·linux·运维·服务器·开发语言·c++·人工智能
郝学胜-神的一滴1 小时前
使用Linux命名管道(FIFO)实现无血缘关系进程间通信
linux·服务器·开发语言·c++·程序人生
HAPPY酷1 小时前
std::pair` 与 `std::map` 基础
开发语言·c++·算法
懒神降世1 小时前
基于iVentoy的PXE服务器的部署实战指南
运维·服务器·开发语言·云原生·vmware·openeuler·iventoy
柒儿吖2 小时前
基于 lycium 在 OpenHarmony 上交叉编译 cppDES 完整实践
c++·harmonyos
山东布谷网络科技2 小时前
对标Yalla和Chamet:海外直播语聊APP中多人派对房的关键技术细节
java·开发语言·人工智能·php·语音识别·软件需求·海外电商系统开发
爱搞事的程小猿2 小时前
qml自定义扩展模块
c++·qt·qml
喜欢吃燃面2 小时前
基础算法:高精度
开发语言·c++·学习·算法