題目描述
在乙個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 輸出 ...