示例:我有一个这样的数组:[0,22,56,74,89]
我想找到最接近不同数字的数字。假设数字是72
,在这种情况下,数组中最接近的数字是56
,所以我们返回它。如果数字是100
,那么它大于数组中的最大数字,所以我们返回最大的数字。如果数字是22
,那么它是完全匹配的,只需返回即可。给定的数字永远不会低于 0,并且数组始终是排序的。
我确实看到了这个问题,但它返回最接近向上或向下的数字。无论如何,我必须让最近的一个向下返回。
我该如何开始?我应该使用什么逻辑?
最好不要太多循环,因为我的代码每秒运行一次,而且它已经足够占用 CPU。