class Solution {
// 一道普通的动态规划题目,一开始没搞清楚意思
public int maxValue(int[][] grid) {
if(grid.length==0||grid[0].length==0){
return 0;
}
for(int i=1;i<grid[0].length;i++){
grid[0][i]=grid[0][i]+grid[0][i-1];
}
for(int i=1;i<grid.length;i++){
grid[i][0]=grid[i][0]+grid[i-1][0];
}
for(int i=1;i<grid.length;i++){
for(int j=1;j<grid[0].length;j++){
grid[i][j]=grid[i][j]+Math.max(grid[i][j-1],grid[i-1][j]);
}
}
return grid[grid.length-1][grid[0].length-1];
}
}