博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【抽特王补课系列】lower_bonud
阅读量:4144 次
发布时间:2019-05-25

本文共 835 字,大约阅读时间需要 2 分钟。

 

 

lower_bound返回的是,二分查找一个数组或者什么什么里面第一个,大于等于它的位置

比如0 2 3 4 4 4 5 

返回的是3 (第一个4的位置)

upper_bound返回的是第一个大鱼它的位置

比如是6(是5的位置)

 

数组里面,a本来表示的是最开头那个地方,a[0]前面的位置

区间表示的时候一般都是左闭右开的

最基本的表示方法是:(a,a+n,rec)-a

返回的是位置,也就是门牌号,左闭右开的区间里面0到n-1的数据进行排序(长度是n),但是后面就写成了n

(是娶不到n的)

减去a就是最开始的位置,返回的是一个差值

 

set里面也是,.begin()是最开头的位置

.end()--才是最后一个位置,区间是左闭右开的。

 

数组,vector都可以这样用,但是set查找的时候是个树状结构,虽然set也可以用s.begin()  s.end()直接找,但是树状的是不一样的,每次用的时候要拍扁了,答案不会错,但是拍扁的时候需要O(n)的复杂度,最后导致很慢,人们在set里面手写了一个lower——bound,可以直接用。s.lower_bound(y),返回的是一个位置(在set里面找东西也会返回一个位置)  ,获取真的东西的时候需要使用*来访问。

 

vector<int> g ;

for(int i=0;i>g.size()-1;i++)

当g.size()是0的时候也会有问题

因为这个g.size是unsigned int 是无符号的 没有符号的 0-1不是-1 是一堆4.....几几几的奇怪的数字

这个奇怪的数字..   所以别这么写-.-

 

 

==========================

...烦死了..... 

机房真的什么都干不下去... 

我不知道是我把心思都放在“啊好吵啊”上面还是自己真的太脆弱

……

就这样吧

很多时候即使不是这样时间还是呼噜呼噜都过去了

我也没办法

真的

既然都浪费了这么久那就一直浪费下去好了......

.....

转载地址:http://weuti.baihongyu.com/

你可能感兴趣的文章
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
性能扩展问题要趁早
查看>>
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
JSP的内置对象及方法
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Spring MVC和Struts2的比较
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>
Android 的source (需安装 git repo)
查看>>
Commit our mod to our own repo server
查看>>
LOCAL_PRELINK_MODULE和prelink-linux-arm.map
查看>>
Simple Guide to use the gdb tool in Android environment
查看>>