【发布时间】:2020-07-30 23:23:39
【问题描述】:
最初,我有一个值,比如说100。
然后我还有一个包含[99, 101, 102, 103, 98, 95, 97]等元素的数组
我想要什么,我想要一个新数组的第一个元素最接近值 100
那是101 & 99 然后下一个最接近的值是102 & 98 等等。
所以最终的数组应该是这样的[99, 101, 98, 102, 97, 103, 95]
那么在 php 中我该如何解决这个问题呢?
这个问题有什么具体的算法吗?
【问题讨论】:
-
您可以遍历
[99, 101, 102, 103, 98, 95, 97]的所有元素并计算一种分数:abs(100-array[i])。该分数将表示元素与数字 100 的距离。然后您将根据该分数对原始数组进行排序。 -
如果有
10,000记录怎么办? -
那么较小的数字呢。因为
99&101都在同一个位置。