首页 > 试题广场 >

礼物的最大价值

[编程题]礼物的最大价值
  • 热度指数:26889 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在一个的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?
如输入这样的一个二维数组,
[
[1,3,1],
[1,5,1],
[4,2,1]
]
那么路径 1→3→5→2→1 可以拿到最多价值的礼物,价值为12
示例1

输入

[[1,3,1],[1,5,1],[4,2,1]]

输出

12

备注:
 
头像 牛客题解官
发表于 2022-04-25 18:56:20
精华题解 题目的主要信息: 一个m∗nm*nm∗n的棋盘中每个格子都有一个礼物,价值各自记录在矩阵中 需要从棋盘左上角走到右下角,经过某个格子,该格子记录的价值就累加 每次只能往下或者往右,求能够获得的最大价值 举一反三: 学习完本题的思路你可以解决如下题目: JZ70. 矩形覆盖 JZ63. 买卖股票的 展开全文
头像 apple爆了
发表于 2021-11-25 17:11:39
一般的路劲问题 一层一层遍历就行了 public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param grid int整型vector<vector<>> 展开全文
头像 香芋派丶
发表于 2021-12-14 20:51:26
动态规划 ①确定状态:设 走到格子 grid[x,y] 时,能获得的最大价值为 f(x,y)。 分析最后一步,即走到了右下角 grid[m,n],根据题意,其上一步只能是 grid[m-1,n] 或 grid[m,n-1],那么为了获得最大价值的礼物,此时就会选择能够获得价值较大的那一项作为上一步, 展开全文
头像 designeer
发表于 2021-11-12 10:35:25
class Solution:     def maxValue(self , grid ):         # wr 展开全文
头像 ch_98
发表于 2022-01-28 12:06:00
由于只能方向向右或者向下,因此第m行第n列的值只能来自于m-1行n列或者m行n-1列再加上grid[m][n],所以可知maxSum[i][j] = Math.max(maxSum[i - 1][j], maxSum[i][j - 1]) + grid[i - 1][j - 1]; public 展开全文
头像 fred-coder
发表于 2022-02-11 10:31:01
二维 dp 问题,初始值 dp[0][0] = grid[0][0] 状态转移方程为: dp[i][j] = dp[i][j - 1] + grid[i][j] i == 0 & j > 0 dp[i][j] = dp[i - 1][j] + grid[i][j] i > 0 & 展开全文
头像 我和我
发表于 2022-02-06 22:44:43
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param grid int整型二维数组 * @return int整型 */ 展开全文
头像 总之就是非常可爱
发表于 2022-05-04 10:55:47
class Solution { public:     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *  展开全文
头像 Hzu_Lai
发表于 2022-03-04 17:07:13
自己做出来了!奥利给! import java.util.*; public class Solution { //递归解法 超时了 public int getMax(int[][] grid, int i, int j,int row,int col){ //亚瑟走到终点了 i 展开全文
头像 tonyjxc
发表于 2022-01-17 16:51:47
第四十七题 经典的动态规划题 维护二维数组 每个点 保存的是到这个点的最大价值 class Solution { public:     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 &nbs 展开全文
头像 蓉城小晋
发表于 2021-11-17 17:27:41
```/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param grid int整型二维数组 * @return int整型 */ function maxValue( grid ) { // write code her 展开全文