Middle-题目27:64. Minimum Path Sum

转载 2016年05月31日 15:49:16

Middle-题目27:64. Minimum Path Sum
题目原文:
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.
Note: You can only move either down or right at any point in time.
题目大意:
有一个m * n的网格,每个格内填写一个非负整数,求出从左上角走到右下角的所有路径中的最小和。
注意:你每次只能向下或者向右走。
题目分析:
设dp[i][j]为从(0,0)点开始走到(i,j)点的最小和,则有:

dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j] (i>0,j>0)

很好解释,因为(i,j)这一点要么是从上面来的,要么是从左面来的,哪面来的和值小就取哪面来的。
初始化第一行和第一列为从原点到第一行(列)的点一直走的和。因为路径是唯一的。
dp数组计算后,显然dp[m-1][n-1]即为所求。
源码:(language:c)

int minPathSum(int** grid, int gridRowSize, int gridColSize) {
    int dp[gridRowSize][gridColSize];
    dp[0][0] = grid[0][0];
    for(int i = 1;i<gridColSize;i++)
        dp[0][i] = dp[0][i-1]+grid[0][i];
    for(int i = 1;i<gridRowSize;i++)
        dp[i][0] = dp[i-1][0]+grid[i][0];
    for(int i = 1;i<gridRowSize;i++)
        for(int j = 1;j<gridColSize;j++)
            dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j];
    return dp[gridRowSize-1][gridColSize-1];
}
int min(int a,int b) {
    return a<b?a:b;
}

成绩:
20ms,beats 31.11%,众数20ms,68.89%

相关文章推荐

Leetcode64 Minimum Path Sum

Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to...

228. Summary Ranges\59. Spiral Matrix II\64. Minimum Path Sum

Summary Ranges 题目描述 代码实现 Spiral Matrix II 题目描述 代码实现 Minimum Path Sum 题目描述 代码实现228. Summary Ranges题目描...

leetcode - 64. Minimum Path Sum

64. Minimum Path Sum Given a m x n gridfilled with non-negative numbers, find a path from top left ...
  • laeen
  • laeen
  • 2017年03月25日 09:57
  • 79

LeetCode 64. Minimum Path Sum 动态规划

64. Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top lef...

64. Minimum Path Sum

最大权重路径问题,leetcode64题,dynamic programming, 动态规划,滚动数组

Leetcode-64. Minimum Path Sum

题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom ri...

【一天一道LeetCode】#64. Minimum Path Sum.md

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (...

leetcode-64 Minimum Path Sum

问题描述地址:https://leetcode.com/problems/minimum-path-sum/ 描述: Given a m x n grid filled with non-nega...

[leetcode] 64. Minimum Path Sum

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which...

[leetcode 64] Minimum Path Sum

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Middle-题目27:64. Minimum Path Sum
举报原因:
原因补充:

(最多只允许输入30个字)