8.28day48(打家劫舍三没做)

198. 打家劫舍 - 力扣(LeetCode)

知识点:动规五部

1.dp数组的含义:dp数组表示打劫改房间的最大收益

2.递推公式:打劫i家:从后往前推 我们如果打劫第i家 那么第i-1家绝对不可能背打劫 所以:dp[i]=dp[i-2]+nums[i]

                     不打劫i家:那我们必须打劫dp[i-1]家

所以我们可以都到递推公式:dp[i]=Math.max(dp[i-2]+nums[i],dp[i-1])

3.初始化:如果只有一家 那肯定dp[0]=nums[0];

                  如果有两家 dp[1]=Math.max(dp[0],dp[1])

4.循环公式:从小到大开始遍历 从2开始

8.28day48(打家劫舍三没做)_第1张图片

213. 打家劫舍 II - 力扣(LeetCode)

知识点:1.处理形成环形:遍历 打劫第一间屋子或者打劫第二间屋子

               2.打劫的递推公式

8.28day48(打家劫舍三没做)_第2张图片

337. 打家劫舍 III - 力扣(LeetCode)

你可能感兴趣的:(算法,数据结构)