给定一个整数列表和一个目标数字,任务是在列表中找到与给定值最接近的数字是最接近目标的。这个问题可以使用多种方法来解决:
如果不能保证列表中元素的顺序,可以使用带有 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