小能豆

从整数列表中获取最接近给定值的数字

javascript

给定一个整数列表,我想找出最接近我输入的数字的数字:

>>> myList = [4, 1, 88, 44, 3]
>>> myNumber = 5
>>> takeClosest(myList, myNumber)
...
4

有什么快速的方法可以做到这一点吗?


阅读 57

收藏
2024-07-27

共1个答案

小能豆

如果我们不确定列表是否已排序,我们可以使用内置min()函数来查找与指定数字距离最小的元素。

>>> min(myList, key=lambda x:abs(x-myNumber))
4

请注意,它也适用于具有 int 键的字典,例如{1: "a", 2: "b"}。此方法需要 O(n) 时间。


2024-07-27