美文网首页
47 礼物最大价值

47 礼物最大价值

作者: 土味老猪 | 来源:发表于2018-06-23 11:43 被阅读0次

    1.特殊情况,空数组,单行单列单独考虑
    2.先计算第一行和第一列的dp值,只用累加前面的就可以。
    3.动态规划计算

    class Solution():
        def maxvalue(self,A):
            m = len(A)
            if m == 0:
                return 0
            n = len(A[0])
            if n == 0:
                return 0
    
            dp = [[0]*n for i in range(m)]
            dp[0][0] = A[0][0]
            for i in range(1,m):
                dp[i][0] = dp[i-1][0] +A[i][0]
            for j in range(1,n):
                dp[0][j] = dp[0][j-1]+A[0][j]
    
    
            for i in range(1,m):
                for j in range(1,n):
                    dp[i][j] = max(dp[i-1][j],dp[i][j-1])+A[i][j]
    
            return dp[m-1][n-1]
    
    s = Solution()
    A = [[1,10,3,8],
    [12,2,9,6],
    [5,7,4,11],
    [3,7,16,5]]
    
    print(s.maxvalue(A))

    相关文章

      网友评论

          本文标题:47 礼物最大价值

          本文链接:https://www.haomeiwen.com/subject/tfpryftx.html