二分查找,lower_bound,upper_bound
来源:互联网 发布:淘宝为什么要交保证金 编辑:程序博客网 时间:2024/05/16 17:35
LeetCode 15. 3Sum
想到的算法是排序之后二重循环a和b,然后二分查找第三个c,时间复杂度
lower_bound & upper_bound
参考定义
* ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。
* ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一个非递减序列[first, last)中第一个大于val的位置。
Code
针对Search for a Range 这一题的实现如下。但是最后返回的结果还需要再经过判断range是否存在来决定。
int lower_bound(vector<int>& nums, int target) { // [lo, hi) int lo = 0; int hi = nums.size(); int pos = -1; while (lo < hi) { int mi = lo + (hi - lo) / 2; target > nums[mi] ? lo = mi + 1, pos = lo : hi = mi, pos = hi ; } return pos;}int upper_bound(vector<int>& nums, int target) { // [lo, hi) int lo = 0; int hi = nums.size(); int pos = -1; while (lo < hi) { int mi = lo + (hi - lo) / 2; target < nums[mi] ? hi = mi, pos = hi : lo = mi + 1, pos = lo ; } return pos;}
0 0
- 二分查找,lower_bound,upper_bound
- 【lower_bound】【upper_bound】二分查找
- 二分查找和lower_bound & upper_bound
- 查找和二分查找 lower_bound upper_bound
- 二分查找及lower_bound与upper_bound
- 二分查找—lower_bound 、upper_bound 、binary_search
- STL中的二分查找--lower_bound/upper_bound/binary_search
- STL之二分查找(binary_search(),lower_bound(),upper_bound() )
- STL中的二分查找,lower_bound();与upper_bound();
- STL之二分查找(binary_search(),lower_bound(),upper_bound() )
- STL之二分查找(binary_search(),lower_bound(),upper_bound() )
- STL之二分查找(binary_search(),lower_bound(),upper_bound() )
- STL 二分查找(binary_search(),lower_bound(),upper_bound() )
- STL 二分查找 upper_bound和lower_bound用法
- 二分搜索:lower_bound, upper_bound
- 关于二分(upper_bound,lower_bound)
- 二分 lower_bound,upper_bound
- STL中提供-二分查找算法(binary_search lower_bound upper_bound equal_range)
- Java中的注解入门
- Emacs graphviz图形中使用latex
- 微信小程序点击编译为什么老是弹出设置框
- [杜教筛] BZOJ 3512 DZY Loves Math IV
- 【CUDA开发】CUDA编程接口(一)------一十八般武器
- 二分查找,lower_bound,upper_bound
- 51NOD 1483 化学变换
- HM中语法元素二进制化的相关代码分析
- 【初学Python】利用python抓取bing首页图片
- HDU-1247 Hat's Words (字典树)
- 在配置springmvc整合MyBatis中遇到的各种问题
- 蓝桥杯单片机设计与开发笔记之LED流水灯模块
- javascript 基础 js实现placeholder
- 用Tar和OpenSSL给文件和目录加密及解密秘籍