zoukankan      html  css  js  c++  java
  • [Leetcode]@python 64. Minimum Path Sum

    题目链接:https://leetcode.com/problems/minimum-path-sum/


     题目大意:在矩阵mxn中找到一条从(0,0)到(m,n)的路径,使得这条路径经过的点的总和最小,并返回这个值


     解题思路:同样可以使用DP进行求解,用a[i][j]表示从(0,0)到(m,n)的所有路径中总和最小的值,动态转移方程为:a[i][j] = min(a[i - 1][j], a[i][j - 1]) + grid[i][j],同样需要注意在矩阵边界时的特殊处理


    代码(python):

    class Solution(object):
        def minPathSum(self, grid):
            """
            :type grid: List[List[int]]
            :rtype: int
            """
            m = len(grid)
            n = len(grid[0])
    
            ans = [[0 for i in range(n)] for j in range(m)]
            ans[0][0] = grid[0][0]
    
            for i in range(m):
                for j in range(n):
                    if i != 0 and j == 0:
                        ans[i][j] = ans[i - 1][j] + grid[i][j]
                    elif i == 0 and j != 0:
                        ans[i][j] = ans[i][j - 1] + grid[i][j]
                    elif i != 0 and j != 0:
                        ans[i][j] = min(ans[i - 1][j], ans[i][j - 1]) + grid[i][j]
            return ans[m - 1][n - 1]
    View Code

  • 相关阅读:
    测试方法与步骤
    团队项目需求分析
    第一次个人作业
    3种shell自动交互的方法
    mysql用户管理
    build web application with golang
    安卓中的LINUX内核
    结对项目小结
    关于aria2-yaaw下载软件
    软工结对项目预览
  • 原文地址:https://www.cnblogs.com/slurm/p/5110279.html
Copyright © 2011-2022 走看看