初学者,我希望有人可以帮助我。我在Python中编写了一个代码,通过使用递归调用的二进制搜索从bitonic列表中查找最大值。问题是,我得到一个最大递归深度错误,我只是想不通,为什么。
基本上我通过删除低于我的中间值的元素来减少列表的长度。所以,任何人都有一个想法,这里有什么问题?提前谢谢!
def max_bitonic(a):
if len(a) == 1:
return a[0]
else:
mid = a[len(a) // 2]
if mid >= a[((len(a)//2)-1)]:
del a[0 : ((len(a)//2)-1)]
max_bitonic(a)
else:
del a[(len(a)//2)]
max_bitonic(a)