劍指offer 禮物的最大價值(c

2021-10-01 01:31:11 字數 633 閱讀 3845

題目描述

在乙個m×n的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值(價值大於0)。你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或者向下移動一格直到到達棋盤的右下角。給定乙個棋盤及其上面的禮物,請計算你最多能拿到多少價值的禮物?

樣例:

輸入:

[ [2,3,1],

[1,7,1],

[4,6,1]

]輸出:19

解釋:沿著路徑 2→3→7→6→1 可以得到拿到最大價值禮物。

思路

動態規劃

dp[i][j] 代表走到(i,j)這個位置的最大價值

dp[0][0] = values[0][0]

dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + values[i][j]

class

solution

for(

int j =

1; j < m;

++j)

for(

int i =

1; i < m;

++i)

}return dp[m-1]

[n-1];

}};

劍指Offer 禮物的最大價值

題目 在乙個m n的棋盤的每乙個格都放有乙個禮物,每個禮物都有一定價值 大於0 從左上角開始拿禮物,每次向右或向下移動一格,直到右下角結束。給定乙個棋盤,求拿到禮物的最大價值。例如,對於如下棋盤 1 10 3 8 12 2 9 6 5 7 4 11 3 7 16 5禮物的最大價值為1 12 5 7 ...

劍指offer 禮物的最大價值

題目 禮物的最大價值 在乙個m n的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值 價值大於0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或者向下移動一格直到到達棋盤的右下角。給定乙個棋盤及其上面的禮物,請計算你最多能拿到多少價值的禮物?如給定棋盤如下 1 10 3 8 12 2 9 6...

劍指offer 禮物的最大價值

在乙個 m n 的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值 價值大於 0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或者向下移動一格 直到到達棋盤的右下角。給定乙個棋盤及其上面的禮物的價值,請計算你最多能拿到多少價值的禮物?示例 1 輸入 1,3,1 1,5,1 4,2,1 輸出 ...