在数组中找到最接近给定数字的数字
我在JavaScript中有一个整数数组,[5,10,15,20,25,30,35]
当给定数字x时,如何在数组中找到最接近该数字的元素?
如果数字超过某个值,但小于下一个数字的一半,则选择较小的值;如果数字超过下一个数字的一半,则选择较大的值。
例如,7将返回5,但是8将返回10。任何帮助或提示,将不胜感激。我已搜索,找不到解决方案。我敢肯定这很常见。
回答:
您的示例列表已排序。如果总是这样,请二进制搜索您的电话号码。如果你没有找到确切的数字,通过检查各地,其中人数的两个数字让二进制搜索结束关闭 将
是并返回最接近的一次。当边缘数字大于或小于目标数字时要小心
如果列表并非总是排序,则遍历列表,跟踪最大数字<=目标数字,最小数字> =目标数字。返回最接近目标的那个。
在这两种解决方案中,例如,如果您要在[1,3]中搜索2,则都需要决定偏爱哪一方。
以上是 在数组中找到最接近给定数字的数字 的全部内容, 来源链接: utcz.com/qa/427812.html