二维矩阵路径最小和

给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的路径中最小的路径和。
解题思路:
代码如下:
def shortestRoadsum(arr, n, m):
    dp = arr[0]
    for i in range(1, m):
        dp[i] += dp[i - 1]
    for i in range(1, n):
        dp[0] += arr[i][0]
        for j in range(1, m):
            dp[j] = min(dp[j], dp[j-1]) + arr[i][j]
    return dp[-1]


n, m = map(int, input().split())
arr = []
for i in range(n):
    arr.append(list(map(int, input().split())))
print(shortestRoadsum(arr, n, m))


全部评论

相关推荐

烤点老白薯:这种东西到时候公众号搜索都有的
点赞 评论 收藏
分享
挣K存W养DOG:我记得好多人说这个公司就是白嫖方案的,现在有大体方案要让你给他展示实现细节了,也是无敌了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务