Ruby's Louvre

每天学习一点点算法

导航

leetcode 198 House Robber I

function rob(nums) {
    if(!nums || nums.length === 0) {
        return 0;
    } else if(nums.length < 2){
        return nums[0];
    }
    let memo = new Array(nums.length);
    memo[0] = nums[0];
    memo[1] = Math.max(nums[0], nums[1]);
    for(let i = 2; i < nums.length; i++) {
        memo[i] = Math.max(memo[i-2]+nums[i], memo[i-1]);
    }
    return memo[memo.length-1];
}

posted on 2020-01-14 12:28  司徒正美  阅读(677)  评论(0编辑  收藏  举报