”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在列表中找到最接近给定值的数字?

如何在列表中找到最接近给定值的数字?

发布于2024-11-19
浏览:610

How do you find the closest number in a list to a given value?

在列表中查找与给定值最接近的数字

给定一个整数列表和一个目标数字,任务是在列表中找到与给定值最接近的数字是最接近目标的。这个问题可以使用多种方法来解决:

使用最小距离

如果不能保证列表中元素的顺序,可以使用带有 key 参数的 min() 函数。该方法查找每个元素与目标之间的最小距离,并返回距离最小的元素:

def takeClosest(myList, myNumber):
    return min(myList, key=lambda x: abs(x - myNumber))

使用二分搜索(二分法)

如果已知列表已排序,则可以应用二分搜索在 O(log n) 时间内更有效地找到最接近的数字:

def takeClosest(myList, myNumber):
    low = 0
    high = len(myList) - 1
    while low 
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3