看似相似的问题:“在数组中查找最接近的数字”(在 Java 中)和“找到与双精度数组最近的匹配”(实际上是一个地理问题)。
我有一个(排序的)双打数组。给定一个任意数字(可能与数组元素之一完全匹配,也可能不完全匹配),我如何返回最接近匹配的数字的索引?
例如,使用以下数组:
- 1.8
- 2.4
- 2.7
- 3.1
- 4.5
查询 2.5 将返回索引 1,对应于 2.4 的值。
检测完全超出数组元素范围的值的奖励积分。例如,使用上面列出的数组,您的代码可能会确定 4.6 进入,但 5.9 退出。如果您想尝试这部分问题,具体情况掌握在您手中。