【发布时间】:2021-01-19 02:24:23
【问题描述】:
下面是我在 python 中使用递归进行二分搜索的代码。我没有使用num == l[mid],因为这是由调用此 binarySearch 的函数处理的。我只需要在拆分时返回列表的最后一项。
def binarySearch(l,num):
length = len(l)
if length==1:
print(l)
return l
if length % 2 == 0:
mid = (length//2) - 1
else:
mid = length//2
if num < l[mid]:
binarySearch(l[mid+1:],num)
else:
binarySearch(l[0:mid+1],num)
print(l) 打印出我想要返回的正确值,但return l 给了我None 而不是l
【问题讨论】:
标签: python-3.x recursion binary-search