Commit 66bfdf0a by BellCodeEditor

save project

parent af6c572c
Showing with 16 additions and 14 deletions
# 使用二分查找法,找出9和20在列表里面的索引
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21] num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21]
low = 0 def binary_search(alist,num):
high = len(num_list) - 1 low = 0
bingo_num = 20 high = len(num_list) - 1
while low <= high: bingo_num = num
mid = (high+low) // 2 while low <= high:
guess_num = num_list[mid] mid = (high+low) // 2
if guess_num == bingo_num: guess_num = num_list[mid]
print(mid) if guess_num == bingo_num:
break print(mid)
elif guess_num < bingo_num: break
low = mid + 1 elif guess_num < bingo_num:
else: low = mid + 1
high = mid - 1 else:
high = mid - 1
result = binary_search(num_list,17)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment