# -*- coding: utf-8 -*-
__author__ = ‘Administrator‘
import bisect
#简化一些操作
#1:在一个列表中查找
"""
说明:需要在一个列表的实例中提供一个搜索算法,
对该列表的已排序版本执行二分查找就可以将复杂度从o(n)降至o(log n)
"""
def listfind(seq,el):
pos=bisect.bisect(seq,el)
if pos==0 or (pos==len(seq) and seq[-1]!=el):
return -1
return pos-1
seq=[2,3,7,8,9]
print listfind(seq,9)
print listfind(seq,6)
print listfind(seq,-1)
时间: 2024-10-08 10:32:43