动态规划入门(一)打家劫舍系列问题

本文介绍了动态规划的核心思想,通过打家劫舍系列问题阐述如何利用动态规划解决递归问题,避免重复计算。文章讨论了一维数组情况下的打家劫舍问题及其环状变种,讲解了状态转移方程和边界条件,并提到了问题的转化与简化技巧。
摘要由CSDN通过智能技术生成

动态规划核心思想

动态规划最核心的思想,就在于将问题拆分为一个个子问题,保留之前的计算结果,以达到减少计算量的效果。

我们可以举个例子:

A: 1+1+1+1+1+1+1+1 = ?

B ( 计算 ) : 8

A: 在上面等式的左边写上 "1+" 呢?

B (脱口而出) : 9

A: 你怎么这么快就得到答案了?

B: 只要在8的基础上加1就好了

A: 所以你不用重新计算,因为你记住了第一个等式的值为8。动态规划算法也可以说是记住求过的解来节省时间


​​​​​​198. 打家劫舍

1. 只有一间房屋时,我们选择偷这间房屋

2. 存在两间房屋时,选择偷两间中较大的那间

3. 如果房屋数量大于两间时,比如第三间,我们要考虑,第一间和第三间房屋的价值总和与第二间房屋的价值相比,哪个更大?如果第一间和第三间房屋的价值总和较大的话,我们会选择偷第一间和第三间;否则,我们则会选择不偷第一间和第三间,去偷第二间

4. 将其推广到一般情况,对于前i间房子,我们偷窃的方案有两种:

1. 偷窃第i间房子,得到的总金额是第i间房子的价值与偷窃前i

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值