遇到“最,遍历,选择”,关键字 ,优先想到动态规划
var maxValue = function(grid) {
let dp=[];
dp[0]=[]
dp[0][0]=grid[0][0]
let m = grid.length
let n = grid[0].length
for (let i=1;i<m;i++){
dp[i]=[]
dp[i][0] = grid[i][0]+dp[i-1][0]
}
for (let j=1;j<n;j++){
dp[0][j]=grid[0][j]+dp[0][j-1]
}
for(let i=1;i<m;i++){
for(let j=1;j<n;j++){
dp[i][j]=Math.max(dp[i][j-1],dp[i-1][j])+grid[i][j];
}
}
return dp[m-1][n-1]
};