题解 | #礼物的最大价值#
礼物的最大价值
https://www.nowcoder.com/practice/2237b401eb9347d282310fc1c3adb134
import java.util.*; public class Solution { public int maxValue (int[][] grid) { HashMap<int [], Integer> hm = new HashMap<>(); int m = grid[0].length - 1; int n = grid.length - 1; int [][]dp = new int[n + 1][m + 1]; for (int i = n; i >= 0 ; i--) { for (int j = m; j >= 0; j--) { if (i == n && j == m) { dp[i][j] = grid[i][j]; } else if (j == m) { dp[i][j] = grid[i][j] + dp[i + 1][j]; } else if (i == n) { dp[i][j] = grid[i][j] + dp[i][j + 1]; } else if (i < n && j < m) { dp[i][j] = Math.max(grid[i][j] + dp[i + 1][j], grid[i][j] + dp[i][j + 1]); } } } return dp[0][0]; } }