算法基础·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函数用法讲解

相关推荐
ShineWinsu4 小时前
爬虫对抗:ZLibrary反爬机制实战分析技术文章大纲
c++
telllong5 小时前
BeeWare:Python原生移动应用开发
开发语言·python
海海不瞌睡(捏捏王子)5 小时前
C#知识点概要
java·开发语言·1024程序员节
aini_lovee5 小时前
C# 实现邮件发送源码(支持附件)
开发语言·javascript·c#
_MyFavorite_5 小时前
JAVA重点基础、进阶知识及易错点总结(10)Map 接口(HashMap、LinkedHashMap、TreeMap)
java·开发语言
charlie1145141915 小时前
通用GUI编程技术——Win32 原生编程实战(十六)——Visual Studio 资源编辑器使用指南
开发语言·c++·ide·学习·gui·visual studio·win32
AlenTech6 小时前
141. 环形链表 - 力扣(LeetCode)
数据结构·leetcode·链表
DpHard6 小时前
现代 C++ 中 push 接口为何提供 const T& 与 T&& 两个重载
c++
wheelmouse77886 小时前
网络排查基础与实战指南:Ping 与 Telnet
开发语言·网络·php
敲代码的嘎仔7 小时前
Java后端开发——真实面试汇总(持续更新)
java·开发语言·程序人生·面试·职场和发展·八股