銆浜屽垎鏌ユ壘綆楁硶錛?br>
def binsearch(data, key):
i,j=0, len(data)-1
while i<=j:
mid=(i+j)>>1
if data[mid]<key: i=mid+1
elif data[mid]>key: j=mid-1
else: return mid
return -1
銆涓涓姞閫熺増鐨勪簩鍒嗘煡鎵劇畻娉?br>
def binsearch(data, key):
'''鍋囧畾data涓哄崟璋冮潪闄嶅簭鍒?/span>'''
i,j=-1, len(data) #i鎸囧悜data搴忓垪絎竴涓厓绱犵殑鍓嶄竴涓綅緗?/span>
#j鎸囧悜data搴忓垪鏈鍚庝竴涓厓绱犵殑鍚庝竴涓綅緗?/span>
while i+1!=j:
mid= (i+j)>>1
if(data[mid]<key):i=mid
else:j=mid
if j==len(data) or data[j]!=key:
return -1 #榪欐椂鎴戜滑鍙互鍦╦澶勬彃鍏ey錛屽悓鏃朵笉鐮村潖data鐨勬湁搴忕姸鎬?/span>
return j #j鎸囧悜data搴忓垪涓乏鏁扮涓涓間負key鐨勬暟鎹」

]]>