題目描述:
在乙個m×n的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值(價值大於0)。
你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或者向下移動一格直到到達棋盤的右下角。
給定乙個棋盤及其上面的禮物,請計算你最多能拿到多少價值的禮物?
注意:
樣例:
輸入:
[ [2,3,1],
[1,7,1],
[4,6,1]
]輸出:19
解釋:沿著路徑 2→3→7→6→1 可以得到拿到最大價值禮物。
分析:
簡單的dp問題。每種狀態可由左邊或者上邊較大的一種狀態轉移而來,dp[i][j] = grid[i-1][j-1] + max(dp[i-1][j],dp[i][j-1]);注意處理下邊界,從1開始就不用特地設定哨兵結點了,同時和上題一樣注意陣列的下標。
class solution
};
禮物的最大價值
題目 在乙個mxn的棋盤的每乙個都放有乙個禮物,每個禮物都有一定的價值 價值大於0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或者向下移動一格,知道到達棋盤的右下角。給定乙個棋盤及其上面的禮物,請計算你最多能達到多少價值的禮物。方法一 動態規劃 二維陣列儲存 int getmaxvalue ...
禮物的最大價值
題目 在乙個m n的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值 價值大於0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向左或者向下移動一格直到到達棋盤的右下角。給定乙個棋盤及其上面的禮物,請計算你最多能拿到多少價值的禮物?動態規劃,優化前 int getmaxvalue const in...
禮物的最大價值
面試題47 禮物的最大價值 題目 在乙個m n的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值 價值大於0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或 者向下移動一格直到到達棋盤的右下角。給定乙個棋盤及其上面的禮物,請計 算你最多能拿到多少價值的禮物?static int get ma...