64. 最小路径和

121 阅读1分钟

64. 最小路径和

dp[i][0] += dp[i - 1][0]边界初始值

dp[0][j] += dp[0][j - 1]边界初始值

dp[i][j] += Math.min(dp[i - 1][j], dp[i][j - 1]) 非边界初始值

var minPathSum = function (dp) {
    var m = dp.length, n = dp[0].length
    for (var i = 1; i < m; i++) {
        dp[i][0] += dp[i - 1][0]
    }
    for (var j = 1; j < n; j++) {
        dp[0][j] += dp[0][j - 1]
    }
    for (var i = 1; i < m; i++) {
        for (var j = 1; j < n; j++) {
            dp[i][j] += Math.min(dp[i - 1][j], dp[i][j - 1])
        }
    }
    return dp[m - 1][n - 1]
};