java - 寻找二维数组中的最短路径

标签 java algorithm graph-theory shortest-path

我需要找到从左上角到右下角的最短路径。

规则是它必须从ABAB等等。

参见图片示例:

enter image description here

上图的预期输出是13

我正在尝试使用 dijkstra 算法在 java 中实现此目的,但随后陷入困境。这是正确的方法吗?

最佳答案

如果目标是找到从左上角到右下角(或任意两点之间)的最短路径,dijsktra 是一种可能的方法,但是您必须根据输入正确构建图形。

在这种情况下,我会选择一个简单的flood-fill算法。您可以找到几个解释它的在线资源,包括 this videothis article ,所以我不会在这个答案中详细介绍。

如果您正确实现规则(仅限 A 到 B 和 B 到 A),您只需使用 2 个矩阵(一个用于原始字母数组,另一个用于距离)即可找到最短路线。

关于java - 寻找二维数组中的最短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55239752/

相关文章:

java - 将 PHP 数组数据结构移植到 Java 中

java - 在Java中设置editText的长度限制

algorithm - 排序算法 : Big text file with variable-length lines (comma-separated values)

algorithm - 通过未加权图的最短节点序列

algorithm - 是否可以开发一种算法来解决图同构问题?

algorithm - 查找图中的交汇点是否存在

java - Spring MVC 请求映射类级别

java - Rebase方法拦截,完全重写方法

algorithm - 如何证明 n 个节点的二叉堆中有 ceil(n/2) 个叶子节点?

javascript - 在 JavaScript 中,声明一个数组来存储单个值只是为了方便迭代它好吗?