gpt4 book ai didi

java - 计算二维数组中的距离,非对角线

转载 作者:行者123 更新时间:2023-12-03 18:20:44 24 4
gpt4 key购买 nike

我在 Java 中实现了以下内容:

  [1,1][1,2][1,3][1,4]
[2,1][2,2][ B ][2,4]
[ A ][3,2][3,3][3,4]

我希望能够计算 [ A ] 和 [ B ] 之间的最小距离,而无需沿对角线移动,我在网上搜索过,但我不太确定如何表达我正在寻找的内容。到目前为止,我已经能够使用以下方法计算对角线距离:

dMin = Math.min(dMin, Math.abs((xDistance - yDistance)));

有人可以给我一个我可以在网上查找的算法吗?任何帮助表示赞赏。谢谢你的时间:)

预期输出是:

Distance = 3 //Not Distance = 2 (as it would be diagonally).

最佳答案

它叫做 Manhattan Distance并且可以通过以下方式轻松计算:

distance = abs(ydistance) + abs(xdistance)

也就是说,您必须垂直行驶的单元格数量加上您必须水平行驶的单元格数量,就像出租车在城市街道网格中行驶一样。

关于java - 计算二维数组中的距离,非对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22544548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com