bisect
是二分查找法经常使用的库
import bisect
# 在L列表中查找x, 如果找到了就返回最左侧的位置(如果有两个x则返回第一个x的左侧位置)
bisect.bisect_left(L,x)
# 在L列表中查找x, 如果找到了就返回最右侧的位置(如果有两个x则返回最后一个x的左侧位置)
bisect.bisect_right(L,x)
# 插入操作, 如果有x的话则插入到最左侧
bisect.insort_left(L, x)
# 插入操作, 如果有x的话则插入到最右侧
bisect.insort_right(L, x)
注:但是首先L
是一个有序的数组, 因为只有有序的序列才能使用二分查找。