Commit 8b5bd783 by BellCodeEditor

save project

parent 5d23974b
Showing with 22 additions and 16 deletions
# 使用二分查找法,找出9和20在列表里面的索引 # 使用二分查找法,找出9和20在列表里面的索引
bingo_num=20 import random
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21] alist = []
low = 0 for i in range(1,101):
high =len(num_list)-1 alist.append(i)
num = random.choice(alist)
while low <= high:
mid = (low+high) // 2 def binary_search(alist,num):
guess_num = num_list[mid] low = 0
if guess_num==bingo_num: high =len(alist)-1
print("找到了,是",mid) while low <= high:
break mid = (low+high) // 2
if guess_num<bingo_num: guess_num = alist[mid]
low=mid+1 if guess_num==num:
if guess_num>bingo_num: return mid
high=mid-1 if guess_num<num:
low=mid+1
if guess_num>num:
high=mid-1
return None
result = binary_search(alist,num)
print("给的",num)
print("索引",result)
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