zoukankan      html  css  js  c++  java
  • lower_bound和upper_bound

    原理

    运用二分的方法进行查找,可以用于逆序对等题目。template出门右转百度。

    用法

    • lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
    • upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个       大于   num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。

    我们可以使用<functional>里的greater改变lower_bound和upper_bound的排序办法来查找。

    • lower_bound( begin,end,num,greater(type)):从数组的begin位置到end-1位置二分查找第一个小于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
    • upper_bound( begin,end,num,greater(type)):从数组的begin位置到end-1位置二分查找第一个       小于   num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。

    总之lower_bound会带上这个数字本身啦~

  • 相关阅读:
    c#之IOC框架Autofac
    javascript中实现sleep函数
    C#中基本类型占用字节数
    java中基本类型占用字节数
    hibernate 关系映射之 主键关联一对一
    hibernate 关系映射之 双向外键关联一对一
    hibernate 关系映射之 单向外键关联一对一
    MySQL外键的设置及作用
    SchemaExport
    hibernate 关于session的update方法
  • 原文地址:https://www.cnblogs.com/BrotherHood/p/12929460.html
Copyright © 2011-2022 走看看