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