47 禮物的最大價值

2021-10-21 14:47:32 字數 888 閱讀 8122

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

示例 1:

輸入:[[1,3,1],

[1,5,1],

[4,2,1]

]輸出:12

解釋:路徑 1→3→5→2→1 可以拿到最多價值的禮物

這應該是和青蛙爬樓梯那題一樣,最最經典的動態規劃題目了。

動態規劃

狀態表示:dp[i][j]表示走到第i個格仔時能拿到禮物的最大價值,則dp[m-1][n-1]就是走到右下角最後乙個格仔時能拿到的禮物的最大價值。

狀態轉移:只能往右或者往下走,也就是到達(i,j)位置只能從上面下來,或者從左邊過來,則我們不難得出dp[i][j] = math.max(dp[i - 1][j] ,dp[i][j - 1]) + grid[i][j];

47 禮物的最大價值

在乙個 m n 的棋盤中的每乙個格都放乙個禮物,每個禮物都有一定的價值 價值大於0 你可以從棋盤的左上角開始拿各種裡的禮物,並每次向由或者向下移動一格,直到到達棋盤的右下角。給定乙個棋盤及上面個的禮物,請計算你最多能拿走多少價值的禮物?可以通過動態規劃的思想實現。定義陣列a,a i j 表示到達 i...

47 禮物的最大價值 python

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

劍指 47 禮物的最大價值

1 禮物的最大價值 在乙個 m n 的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值 價值大於 0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或者向下移動一格 直到到達棋盤的右下角。給定乙個棋盤及其上面的禮物的價值,請計算你最多能拿到多少價值的禮物?力扣鏈結 思路 動態規劃 狀態表示 d...