/**
* @param {number[][]} matrix
* @return {number}
*/
var minFallingPathSum = function(matrix) {
let rows = matrix.length;
let cols = matrix[0].length;
const dp = new Array(rows).fill(0).map(()=>new Array(cols));
dp[0] = [...matrix[0]];
for(let i = 1; i < rows; i++){
for(let j = 0; j < cols; j++){
//边界情况:第一列和最后一列
//初始状态是第一列
let min = dp[i-1][j];
//第一列之后
if(j > 0){
min = Math.min(min,dp[i-1][j-1])
}
//最后一列之前
if(j < cols-1){
min = Math.min(min,dp[i-1][j+1]);
}
dp[i][j] = min + matrix[i][j]
}
}
return Math.min(...dp[rows-1]);
};
动态规划 -- 931.下降路径最小和
于 2023-12-21 17:16:52 首次发布