标签:切片 div index 解决问题 数字 value bsp 一个 需要
是高效解决问题的办法
用于某种特定的场景
nums = [-3,4,7,10,13,21,43,77,89]
find_num = 10
for num in nums:
if num == find_num:
print(‘find it‘)
break
# 思路
# def binary_search(find_num,列表):
# mid_value = 找列表中间的值
# if find_num > mid_value:
# # 接下来的查找应该是列表的右半部分
# # 列表 = 列表切片 切出右半部分
# # 本身的代码(列表)
# binary_search(find_num,列表)
# elif find_num < mid_value:
# # 接下来的查找应该是列表的左半部分
# # 列表 = 列表切片 切出左半部分
# # 本身的代码(列表)
# binary_search(find_num,列表)
# else:
# print(‘find it‘)
nums = [-3, 4, 7, 10, 13, 21, 43, 77, 89]
find_num = 10
def binary_search(find_num, l):
print(l)
if len(l) == 0:
print(‘找的值不存在‘)
return
mid_index = len(l) // 2
if find_num > l[mid_index]:
# 接下来的查找应该是列表的右半部分
# 列表 = 列表切片 切出右半部分
l = l[mid_index + 1:]
# 本身的代码(列表)
binary_search(find_num, l)
elif find_num < l[mid_index]:
# 接下来的查找应该是列表的左半部分
# 列表 = 列表切片 切出左半部分
l = l[:mid_index]
# 本身的代码(列表)
binary_search(find_num, l)
else:
print(‘find it‘)
binary_search(find_num, nums)
标签:切片 div index 解决问题 数字 value bsp 一个 需要
原文地址:https://www.cnblogs.com/zhww/p/12983973.html