gpt4 book ai didi

python - 如何在列表中找到小于目标值的最高数字?

转载 作者:太空狗 更新时间:2023-10-30 00:11:18 24 4
gpt4 key购买 nike

我正在尝试编写一个二进制搜索,它采用排序列表并找到小于目标值的最大数字:

def binary_max(list, target)
hi=len(list)-1
lo=0
while lo<=hi:
mid=(hi+lo)//2
midval=list[mid]
if midval > target:
hi=mid-1
elif midval <= target:
lo=mid
if hi==lo:
break
return(list[mid])
pass

但是,例如,当有一个长度为 2 的列表时,hi=1mid 值将始终停留在 lo .

有什么办法可以避免这个问题吗?

最佳答案

bisect 模块提供的函数正是这样做的。使用 bisect.bisect .

关于python - 如何在列表中找到小于目标值的最高数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com