解题思路:动态规划,原地修改
先初始化矩阵第一行和第一列,再开始遍历dp
class Solution {
public int maxValue(int[][] grid) {
int row=grid.length,col=grid[0].length;
for(int i=1;i<row;i++)
grid[i][0]+=grid[i-1][0];
for(int j=1;j<col;j++)
grid[0][j]+=grid[0][j-1];
for(int i=1;i<row;i++){
for(int j=1;j<col;j++){
grid[i][j]=Math.max(grid[i-1][j],grid[i][j-1])+grid[i][j];
}
}
return grid[row-1][col-1];
}
}
参考博客链接: