博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划-矩阵最小路径和
阅读量:4071 次
发布时间:2019-05-25

本文共 695 字,大约阅读时间需要 2 分钟。

题目描述

有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和。返回所有的路径中最小的路径和。给定一个矩阵map及它的行数n和列数m,请返回最小路径和。

求解过程

给定一个N*M的矩阵,假定N等于4,M等于41 2 3 44 8 3 26 1 4 57 3 7 8现在生成一个大小为N*M的矩阵dp, dp[i][j]的含义为从(0,0)点到(i,j)点的最小路径显然 第一行的路径值就为从0,0点到i,j 每一点值的和1 3 6 10151118              置dp[0][0] = 矩阵值[0][0];对于第一行来说: dp[i][0] = dp[i-1][0] + 矩阵值[i][0];对于第一列来说: dp[0][i] = dp[0][i-1] + 矩阵值[0][i];对于除第一行第一列之后其他的位置有:     dp[i][j] = min(dp[i-1][j] ,dp[i][j-1])+ 矩阵值[i][j];至此,状态转移方程求解完毕

代码实现

class MinimumPath {public:    int getMin(vector
> juzhen, int n, int m) { vector
>dp(n,vector
(m,0)); dp[0][0] = juzhen[0][0]; for (int i=1; i

转载地址:http://rehji.baihongyu.com/

你可能感兴趣的文章
C语言中的 (void*)0 与 (void)0
查看>>
vu 是什么
查看>>
io口的作用
查看>>
IO口的作用
查看>>
UIView的使用setNeedsDisplay
查看>>
归档与解归档
查看>>
Window
查看>>
为什么button在设置标题时要用一个方法,而不像lable一样直接用一个属性
查看>>
字符串的截取
查看>>
2. Add Two Numbers
查看>>
17. Letter Combinations of a Phone Number (DFS, String)
查看>>
93. Restore IP Addresses (DFS, String)
查看>>
19. Remove Nth Node From End of List (双指针)
查看>>
49. Group Anagrams (String, Map)
查看>>
139. Word Break (DP)
查看>>
23. Merge k Sorted Lists (Divide and conquer, Linked List) 以及java匿名内部类
查看>>
Tensorflow入门资料
查看>>
剑指_用两个栈实现队列
查看>>
剑指_顺时针打印矩阵
查看>>
剑指_栈的压入弹出序列
查看>>