备战蓝桥杯Day36 - 动态规划 - 三角形最小路径和问题

一、什么是动态规划

通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推的方式解决。

哪些问题可以使用动态规划?

1、具有最优子结构:问题的最优解所包含的子结构的解也是最优的

2、具有无后效性:未来与过去无关,只与当前状态有关。

二、三角形最小路径和

三、思路分析 

1、规整数据

将数组规整一下,将多余的空格删除,使之变成我们熟悉且好操作的常规形状。

[
    [2],
    [3, 4],
    [6, 5, 7],
    [4, 1, 8, 3]
]

变成这样后方便我们观察规律也比较好写算法,如果有题目要求输出题目中那样的,再添加空格字符串进行调整即可。

2、分析数据

2.1、只有两行数据

当只有两行数据时,只需要分别相加再求出最小值即可。

[
    [2],
    [3, 4]
]

2+3=5    2+4=6 , 再取出相加和后的最小值,即为最小路径和。 

2.2、有三行数据

[
    [2],
    [3, 4],
    [6, 5, 7]
]

有三行数据时,路径选择就多了,一共有 4 种情况。

2 + 3 + 6 = 11    &n

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值