【问题标题】:Find shortest path to another matrix找到到另一个矩阵的最短路径
【发布时间】:2022-12-20 03:10:00
【问题描述】:

我有一个 2x3 的基本矩阵

0 1 2
3 4 5

现在我需要找到进入给定矩阵的最少步骤,例如:

1 2 5
3 4 0

而且我只能交换与0相邻的数字。

所以要真正进入示例矩阵,我需要 将 0 与 1 交换,然后将 0 与 2 交换,然后将 0 与 5 交换 = 3 步。

你能给我指出正确的方向吗?递归该问题的算法?

它实际上是 Lloyd's 15 的一些变体。

【问题讨论】:

    标签: python algorithm recursion matrix path-finding


    【解决方案1】:

    观点你在递归的正确方向:

    在每个示例矩阵中,您都有一定(少量)的交换可以做。

    因此,您可以从给定的矩阵中尝试每个允许的交换,从而得到一个新矩阵。然后你问,“从这个矩阵到目标矩阵有多少次交换?”。这就是递归的用武之地。您可能必须保持跟踪,以避免两次访问同一个矩阵,否则您将陷入无限循环。

    【讨论】:

      猜你喜欢
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多