美文网首页
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 礼物最大价值

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

  • 剑指 Offer 47. 礼物的最大价值

    剑指 Offer 47. 礼物的最大价值[https://leetcode-cn.com/problems/li-...

  • 剑指 Offer 47 礼物的最大价值

    剑指 Offer 47. 礼物的最大价值[https://leetcode-cn.com/problems/li-...

  • 47. 礼物的最大价值

    47. 礼物的最大价值[https://leetcode.cn/problems/li-wu-de-zui-da-...

  • 【剑指offer】: 47. 最大子序和

    47. 礼物的最大价值 问题描述: 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大...

  • LeetCode-47-礼物的最大价值

    解题思路: 状态转移,每一步产生的最大价值dp[i][j]都由两个状态转移而来:- 上方的数字产生的最大价值+本格...

  • 47.礼物的最大价值(中等)

    考点:本题考查递归和时间效率 题目描述: 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价...

  • 面试题47:礼物的最大价值

    题目 在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格...

  • 面试题47:礼物的最大价值

    题目: 思路:这道题是动态规划的思想,到i,j位置的礼物最大价值 只和左上有关,用一个二维数组来缓存值,得到最大的...

  • 面试题47:礼物的最大价值

    在一个mxn的棋盘的每一格斗放油一个礼物,每个礼物都有一定的价值(大于0) 从棋盘的左上角开始,每次可以往右边或者...

网友评论

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

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