/*
d[0][0] = grid[0][0]
d[i][j] = min(d[i][j-1], d[i-1][j])+grid[i][j]
d[i][0] = d[i-1][0]+grid[i][0]
d[0][j] = d[0][j-1]+grid[0][j];
*/
#define min(a,b) (a>b?b:a)
int minPathSum(int** grid, int gridRowSize, int gridColSize) {
int (*dp)[gridColSize] = calloc(gridRowSize*gridColSize,sizeof(int));
int i,j;
dp[0][0] = grid[0][0];
for(i = 1; i < gridRowSize; i++)
dp[i][0] = dp[i-1][0] + grid[i][0];
for(j = 1; j < gridColSize; j++)
dp[0][j]= dp[0][j-1] + grid[0][j];
for(i = 1; i < gridRowSize; i++)
for(j = 1; j < gridColSize; j++)
dp[i][j] = min(dp[i][j-1], dp[i-1][j])+grid[i][j];
return dp[gridRowSize-1][gridColSize-1];
}
64 minimum path sum
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- dp[row - 1][col - 1] 表示从 [0][0] 到 [row-1][col-1] 位置上加起来的最...
- 动态规划 Python 3 实现: 源代码已上传 Github,持续更新。 源代码已上传至 Github,持续更新中。
- Given a m x n grid filled with non-negative numbers, find...
- 数组中左上角到右下角的最短路径。 思路:DP的解题思路,当前点[i, j]的路径和,为 grid[i][j] + ...
- Given amxngrid filled with non-negative numbers, find a p...