劍指 offer 47. 禮物的最大價值
這裡有乙個好處在於所有值都是正的,所以處理起來不用像子陣列一樣處理和為負要重新選擇,但是這裡也是比較簡單的。
可以用dp[i][j]
記錄我們走到[i][j]
位置時所能獲得的禮物最大價值,那麼很顯然,我們到達[i][j]
位置有2種方式,從[i-1][j]
即從上往下或是從[i][j-1]
即從左往右到達,那麼我們選擇這兩種方式到達的最大價值的那條,故而dp[i][j] = grid[i][j] + math.max(dp[i - 1][j], dp[i][j - 1])
。同時一直維護ans即可。
class solution
for(int i = 1; i < m; i++)
for(int i = 1; i < m; i++)
}return dp[m - 1][n - 1];}}
劍指offer 47 禮物的最大價值
題目描述 在乙個 m n 的棋盤的每乙個格都放有乙個禮物,每個禮物都有一定價值 大於 0 從左上角開始拿禮物,每次向右或向下移動一格,直到右下角結束。給定乙個棋盤,求拿到禮物的最大價值。例如,對於如下棋盤 1 10 3 8 12 2 9 6 5 7 4 11 3 7 16 5 禮物的最大價值為 1 ...
劍指offer 47 禮物的最大價值
在乙個m x n的棋盤的每乙個字都放有乙個禮物,每個禮物都有一定的價值 價值大於0 可以從棋盤的左上角開始拿格仔裡的禮物,並每次向左或向下移動一格,直到到達棋盤的右下角。給定乙個棋盤及棋盤上面的禮物,計算出最多能拿到多少價值的禮物。首先定義乙個函式f i,j 表示到達座標為 i,j 時能拿到禮物的總...
劍指offer47 禮物的最大價值
題目描述 在乙個 m n 的棋盤的每乙個格都放有乙個禮物,每個禮物都有一定價值 大於 0 從左上角開始拿禮物,每次向右或向下移動一格,直到右下角結束。給定乙個棋盤,求拿到禮物的最大價值。例如,對於如下棋盤 1 10 3 8 12 2 9 6 5 7 4 11 3 7 16 5 思路 動態規劃 狀態d...