保研考研机试攻略:python笔记(4)
🐨🐨🐨15各类查找
🐼🐼二分法
在我们写程序之前,我们要定义好边界,主要是考虑区间边界的闭开问题。
🐶1、左闭右闭
# 左闭右闭
def search(li, target):
h = len(li) - 1
l = 0
#因为都是闭区间,h和l都可以取到并且相等
while h >= l:
mid = l + (h - l) // 2
if li[mid] == target:
return mid
elif li[mid] > target:
h = mid - 1
else:
l = mid + 1
return -1