如何在查找表中搜索最接近的值?

Cod*_*ile 5 algorithm search

我有一个简单的一个dimmensional整数值数组,表示我必须使用的部分值的物理集合.然后我以数学方式计算和理想值.

我怎么能写出一个有效的搜索算法,它会在数组中找到与理想值最小的abosulte差异?

该阵列是预定的和恒定的,所以它可以按需要排序.

示例查找数组:

100, 152, 256, 282, 300
Run Code Online (Sandbox Code Playgroud)

搜索125的理想值将在阵列中找到100,而127将找到152.

实际的查找数组大约有250个项目,永远不会改变.

bob*_*bah 4

数组排序完毕后,使用二分查找

  • 那总能找到最接近的匹配吗?我只见过完全匹配的实现 (2认同)
  • 您可以将其设置为在没有完全匹配的情况下为您提供前一项或后一项。然后您只需检查两个值以查看哪个最接近。 (2认同)