【day4】bisect.insort_left
背景刷题:https://leetcode-cn.com/problems/find-median-from-data-stream/submissions/
在addNum函数里,直接不判断append,在数据量比较大的情况下出现了超时,查看参考答案推荐使用bisect模块里的二分法插入insort,这种情况下就不超时了。
bisect.insort_left学习:
https://www.cnblogs.com/liuzhiyun/p/7118750.html
python_bisect模块的使用:这个模块只有几个函数,
一旦决定使用二分搜索时,立马要想到使用这个模块
import bisect
L = [1,3,3,6,8,12,15]
x = 3
x_insert_point = bisect.bisect_left(L,x) #在L中查找x,x存在时返回x左侧的位置,x不存在返回应该插入的位置..这是3存在于列表中,返回左侧位置1
print x_insert_point
x_insert_point = bisect.bisect_right(L,x) #在L中查找x,x存在时返回x右侧的位置,x不存在返回应该插入的位置..这是3存在于列表中,返回右侧位置3
print x_insert_point
x_insort_left = bisect.insort_left(L,x) #将x插入到列表L中,x存在时插入在左侧
print L
x_insort_rigth = bisect.insort_right(L,x) #将x插入到列表L中,x存在时插入在右侧
人的思维,观点是一直都会进化的。如果现在的思维,观点看法;和十年前的一模一样的话。那就可以说,你这十年是白活的。