如何比较两个数组并找到最佳匹配?

时间:2011-03-02 08:00:26

标签: arrays compare match

例如我有:

array[3] arr1 = {.5,.5,0}
array[3] arr2 = {.5,0,.5}
array[3] arr3 = {0,.5,.5}
array[3] findarr = {1,1,0}

显然,arr1是findarr的最佳搭配。我已经有一个简单的算法工作,但我想知道是否有一个如何做到这一点的公式?

谢谢!

2 个答案:

答案 0 :(得分:2)

f = pow(arrX[0]-findarr[0],2) + pow(arrX[1]-findarr[1],2) + pow(arrX[2]-findarr[2],2);

pow(x,2) == x*x

所以,“最佳匹配”将是数组,最小f

答案 1 :(得分:1)

已在这里回答。只是通过它来获得一个想法 你可以用类似的方式做到这一点。

有点相关。

在PHP中,您可以使用array_intersect函数。[+]

来执行此操作