public int maxValue(int[][] grid) { //动态规划 int m = grid.length; int n = grid[0].length; for(int i = 1;i<n;i++){ grid[0][i] = grid[0][i] + grid[0][i-1]; } for(int i = 1;i<m;i++){ grid[i][0] = grid[i][0] + grid[i-1][0]; } for(int i = 1;i<m;i++){ for(int j = 1;j<n;j++){ grid[i][j] = Math.max(grid[i-1][j],grid[i][j-1]) + grid[i][j]; } } return grid[m-1][n-1]; }
原文:https://www.cnblogs.com/taoyuxin/p/13556783.html