礼物的最大价值-动态规划
题目:在一个mn的棋盘的每一格都放有一个礼物,每个礼物都有 定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并 每次向左或者向下移动一格,直到到达棋盘的右下角。给定一个棋盘及其 上面的礼物,请计算你最多能拿到多少价值的礼物?
分析:典型二维动态规划问题,由于中间任意只能从左侧或者上侧过来,所以只有两种传递方案
# from left-up to right-down, every step can only go down or go right ->
# so, an aribtrary position only care about its up and left ->
# which can have a larger value
import numpy as np
def GetMaxValueGifts(arr):
oriArr = np.array