def bi_search(self,arr,k):
if k < arr[0] or k > arr[-1]:
return False
i,j = 0,len(arr)-1
while i <= j:
m = i + int((j - i)/2)
#m = int((i+j)/2) 避免溢出问题:i+j超出整数范围
if arr[m] > k:
j = m - 1
elif arr[m] < k:
i = m + 1
else:
return True
return False
网友评论