packageoffer;publicclassSolution47{publicstaticvoidmain(String[] args){int grid[][]={{1,3,1},{1,5,1},{4,2,1}};Solution47 solution =newSolution47();System.out.println(solution.method(grid));}privateintmethod(int[][] grid){int m = grid.length;//列高int n = grid[0].length;//行宽//初始化第一列for(int i =1; i < m; i++){
grid[i][0]+= grid[i-1][0];}//初始化第一行for(int i =1; i < n; i++){
grid[0][i]+= grid[0][i-1];}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]);}}return grid[m-1][n-1];}}//时间复杂度为 O(n^2)//空间复杂度为 O(1)