一眼动规,而且记忆数组用原来的就行,原地算法解决
class Solution {
public int maxValue(int[][] grid) {
for(int i = 1; i < grid.length; i++){
grid[i][0] += grid[i - 1][0];
}
for(int i = 1; i < grid[0].length; i++){
grid[0][i] += grid[0][i - 1];
}
for(int i = 1; i < grid.length; i++){
for(int j = 1; j < grid[0].length; j++){
grid[i][j] += Math.max(grid[i - 1][j],grid[i][j - 1]);
}
}
return grid[grid.length - 1][grid[0].length - 1];
}
}