二分法查找——递归方式2

it2022-07-01  92

在上一篇文章中介绍了二分法查找,这里是又一次二分法查找方式,与之前不同的是,这次只能判断是否存在,但是很难确定具体位置!! lst = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17] def func(ls,n): left = 0 right = len(ls) - 1 if left <= right: middle = (left + right)//2 if n < ls[middle]: return func(ls[:middle],n) elif n > ls[middle]: return func(ls[middle+1:],n) else: print("该数存在!") else: print("该数不存在!!") func(lst,12) #这里只能判断该数是否存在,没法通过索引判断位置,因为原列表做了切片!

最新回复(0)