LeetCode 198. 打家劫舍

//动态规划
class Solution {
    public int rob(int[] nums) {
        int pre = 0;
        int cur = 0;
        for(int i = 0;i < nums.length; i++){
            // 循环开始时,cur 代表 dp[k - 1]; pre 代表 dp[k - 2];
            // dp[k] = Math.max(dp[k -1],dp[k-2] + num[i])
            int tmp = Math.max(pre + nums[i] , cur);
            pre = cur;
            cur = tmp;
            //循环结束后,cur代表dp[k],pre 代表 dp[k - 1];
        }
        return cur;
    }
}
原文地址:https://www.cnblogs.com/peanut-zh/p/13909815.html