代码随想录第四十七天|打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ

题目链接:. - 力扣(LeetCode)

代码如下:

打家劫舍问题需要注意相邻房子不能偷,因此在偷与不偷的选择上可以归类为:

偷当前(i)的房子,则子问题变为前i-2个房子的偷取金额;

不偷当前(i)的房子,则子问题变为前i-1个房子的偷取金额,

为了避免超出range边界,将减法改为加法,则偷的选择就是整体加2,因为正常nums的范围是[0, n-1], 加2后就是n+1,因此最后return n+1,代表取值范围。

题目链接:. - 力扣(LeetCode)

打家劫舍Ⅱ与Ⅰ类似,只是变成了环,因此需要考虑的是第一个要不要偷,偷了就是第三个到倒数第二个无环情况要不要偷,不偷第一个就是第二个到最后一个要不要偷,套用第一题的代码,代码如下:

题目链接:. - 力扣(LeetCode)

第三题同样改思路为偷与不偷的思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值