题解 | #礼物的最大价值#
礼物的最大价值
https://www.nowcoder.com/practice/2237b401eb9347d282310fc1c3adb134
function maxValue(grid) {
let rows = grid.length;//总行数
let columns = grid[0].length;//总列数
let dp = new Array(rows).fill([]).map(() => new Array(columns).fill(0));
dp[0][0] = grid[0][0];
// 填充第一列
for (let i = 1; i < rows; i++) {
dp[i][0] = grid[i][0] + dp[i - 1][0];
}
// 第一行
for (let j = 1; j < columns; j++) {
dp[0][j] = grid[0][j] + dp[0][j - 1];
}
// 填充剩余部分
for (let i = 1; i < rows; i++) {
for (let j = 1; j < columns; j++) {
dp[i][j] = Math.max(grid[i][j] + dp[i - 1][j], grid[i][j] + dp[i][j - 1]);
}
}
return dp[rows - 1][columns - 1];
}
module.exports = {
maxValue: maxValue
};
纯JavaScript好折磨啊
查看3道真题和解析