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

发布于 2024-10-19 15:12:15 字数 221 浏览 5 评论 0原文

例如我有:

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 的最佳匹配。我已经有了一个简单的算法,但我想知道是否有一个公式可以实现这一点?

谢谢!

For example I have:

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

Obviously, arr1 is the best match for findarr. I already have a simple algorithm working but I want to know if there is a formula for how to do this?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

桃扇骨 2024-10-26 15:12:15

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 最小

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

pow(x,2) == x*x

So, "the best match" will be array, with smallest f

顾北清歌寒 2024-10-26 15:12:15

已经在这里回答了。只需浏览一下即可获得想法。
您可以用类似的方式进行操作。

有点相关。

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

Answered here already. Just go through it to get an idea.
You can do it in similar manner.

A bit related.

In PHP, you can do it using array_intersect function.[+]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文