java版代码,leetcode地址

 1 class Solution {
 2     public int maxValue(int[][] grid) {
 3         int m = grid.length;
 4         int n = grid[0].length;
 5         int[][] dp = new int[m][n];
 6         dp[0][0] = grid[0][0];
 7         for(int j=1;j<n;j++) {
 8             dp[0][j] = grid[0][j] + dp[0][j-1];            
 9         }
10         for(int i=1;i<m;i++) {
11             dp[i][0] = grid[i][0] + dp[i-1][0];
12         }
13         
14         for(int i=1;i<m;i++) {
15             for(int j=1;j<n;j++) {
16                 dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]) + grid[i][j];
17             }
18         }
19         return dp[m-1][n-1];
20     }
21 }

思路:动态规划。

posted on 2021-10-22 20:42  Sempron2800+  阅读(13)  评论(0编辑  收藏  举报