【问题标题】:Dynamic programming m*n grid shortest sumpath动态规划 m*n 网格最短和路径
【发布时间】:2017-07-14 11:10:04
【问题描述】:

我正在学习一些算法和 DS,遇到了一个 DP 问题。寻找一些提示。声明如下:

给定一个由非负数填充的 mxn 网格,找到一条从左上角到右下角的路径,该路径最小化沿其路径的所有数字的总和。

注意:您只能在任何时间点向下或向右移动。

提示仅供参考!

我想过一些事情,但它们就是行不通。这没有意义,因为我最初的想法是,

使用 dp[i][j] 进行记忆,其中 dp[i][j] 是 i*j 网格的最小路径总和。这没有意义,因为例如我不确定如何从中获取 do[i + 1][j + 1]。

这个想法是否正确。你能提出一些建议吗?

【问题讨论】:

  • Google 获得 A*(A 星)

标签: algorithm data-structures


【解决方案1】:

初始化角单元,即dp[0][j]dp[i][0]。那么对于任何dp[i][j],遍历到该路径的成本将为val[i][j] + min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1])

dp[row][col] 应该有最小路径的成本。您也可以使用dp[][] 进行回溯,并找到成本最低的路径。

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2018-05-03
    相关资源
    最近更新 更多