zoukankan      html  css  js  c++  java
  • Python2.7-bisect

    bisect 模块,对已经排好序的序列进行筛选,添加新元素,效率高,不用在插入新元素后重新排序,可以快速找到小于指定值的位置

    个人想法:与 heapq 的堆可以较好的结合使用

    模块方法:
    bisect_left(a, x, lo=0, hi=len(a)):在序列 a 中选出最后一个值小于 x 的元素的序号,即a[lo:i] < x , a[i:hi] >= x
    bisect_right(a, x, lo=0, hi=len(a)):在序列 a 中选出第一个值大于 x 的元素的序号,即a[lo:i] <= x , a[i:hi] > x
    bisect.bisect(a, x, lo=0, hi=len(a)):同right
    bisect.insort_left(a, x, lo=0, hi=len(a)):a 中插入新元素 x ,新插入的 x 在所有已有 x 的最前,即 a.insert(bisect.bisect_left(a, x, lo, hi), x)
    bisect.insort_right(a, x, lo=0, hi=len(a)):与left类似,只是新插入的 x 在所有已有 x 的最后,即 a.insert(bisect.bisect_right(a, x, lo, hi), x)
    bisect.insort(a, x, lo=0, hi=len(a)):同right

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    滑雪
    2084 数塔HDU
    括号匹配(二)
    项链
    单调递增最长子序列
    矩形嵌套
    最长公共子序列
    poj3253
    表达式求值
    颜色16进制代码表显示和16进制数值对比显示方便查找
  • 原文地址:https://www.cnblogs.com/tccbj/p/7944192.html
Copyright © 2011-2022 走看看