动态规划之求解最短路径问题

例题:在一个坐标纸上,从初始位置一直到位置(m,n)的路径中,哪条最短?

1.我们首先还是要去确定数组代表的含义,由于本题的目的是为了去求解路径长度,那么我们就可以去定义数组dp【m】【n】的含义是走到(m,n)的路径大小

2.其次我们应该去确定的是这个题目所需要的关系式是什么,到达(i,j)这个位置之前,我们可能在的位置是(i-1,j)或(i,j-1),那这个关系式是 dp【i】【j】=min(dp【i-1】【j】,dp【i】【j-1】)+a【i】【j】(这个点所具有的值)

3.第三步我们就要去确定它的初始值,还是要去保证i-1的值>0,j-1的值>0,那么我们就要先去确定第一行和第一列所代表的值

这个推理方法是啥呢

利用for循环递归求解

for(i=0;i<n;i++){ dp[0][i]=dp[0][i-1]+a[0][i] }

最后因为这个求初始值本身也是一种递归,所以要在for循环之前去确定dp[0][1]和dp[1][0]的值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值