题目
题目 | 解题 |
---|---|
198. 打家劫舍 | 动态规划 |
213. 打家劫舍 II | 动态规划 |
337. 打家劫舍 III | 动态规划+深度优先搜索 |
解题
用动态规划的方法去求解,关键是要列出状态转移方程:
详细解答参考官方:打家劫舍
// javascript
var rob = function(nums) {
const n = nums.length;
// 注意 first,second,maxGain 的初始值,这样可以省去边界判断
let first = 0, second = 0, maxGain = 0;
for (let i = 0; i < n; i++) {
maxGain = Math.max(first + nums[i], second);
first = second;
second = maxGain;
}
return maxGain;
};