Commit bcae7f69 by BellCodeEditor

auto save

parent 860f1456
Showing with 8 additions and 26 deletions
# 使用二分查找法,找出9和20在列表里面的索引 # 使用二分查找法,找出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 a(num,num_list):
high = 9 low = 0
while True: high = len(num_list)-1
num = 9 while low>=high:
mid = (low+high)//2 mid = (low+high)//2
guess = num_list[mid] guess = num_list[mid]
if guess == num: if guess == num:
print('找到9了:'+str(mid)) return mid
break
elif guess > num: elif guess > num:
high = mid-1 high = mid-1
else: else:
low = mid+1 low = mid+1
if low>high: x = a(18,num_list)
print('找不到9') print(x)
break \ No newline at end of file
low = 0
high = 9
while True:
num = 20
mid = (low+high)//2
guess = num_list[mid]
if guess == num:
print('找到20了:'+str(mid))
break
elif guess > num:
high = mid-1
else:
low = mid+1
if low>high:
print('找不到20')
break
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