3. 二分法查找
约 104 字
预计阅读 1 分钟
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 使用二分法查找的前提是, 必须是有序列表
def func(li, n):
left_index = 0
right_index = len(li)
while left_index <= right_index:
mid_index = (left_index + right_index) // 2
if n == li[mid_index]:
return mid_index
if n < li[mid_index]:
right_index = mid_index - 1
else:
left_index = mid_index + 1
else:
return "没有这个数"
print(func([1, 2, 54, 77, 88, 111, 231], 211))
|