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;
    }
}

 

posted @ 2020-11-01 15:53  peanut_zh  阅读(67)  评论(0编辑  收藏  举报