leetcode198. 打家劫舍 简单 动态规划
程序员文章站
2022-04-25 17:37:21
...
题目:
分析:不能偷相邻的两个房屋因为会报警,那么当前房屋的偷窃最高金额=子问题1(两个房屋前的最高金额+当前房屋金额)和子问题2(前一个房屋的最高金额)的最优解,谁金额较大取谁
代码:
class Solution {
public int rob(int[] nums) {
if(nums == null || nums.length == 0){
return 0;
}
int before1 = 0;
int before2 = 0;
for(int i = 0; i < nums.length; i++){
int current_max = Math.max(before2 + nums[i], before1);
before2 = before1;
before1 = current_max;
}
return before1;
}
}
推荐阅读
-
leadcode的Hot100系列--62. 不同路径--简单的动态规划
-
蓝桥杯 算法提高 ADV-277 The Islands(记录转移的简单动态规划)
-
【LeetCode】每日一题(一)打家劫舍系列 动态规划
-
Leetcode213. 打家劫舍 II【动态规划】
-
动态规划中等 leetcode213. 打家劫舍 II
-
Leetcode213.打家劫舍II——动态规划
-
leadcode的Hot100系列--62. 不同路径--简单的动态规划
-
leetcode198. 打家劫舍 简单 动态规划
-
leetcode198.打家劫舍I(java):动态规划
-
LeetCode 213. 打家劫舍 II(动态规划)