美文网首页
198. House Robber

198. House Robber

作者: 7ccc099f4608 | 来源:发表于2020-03-23 13:35 被阅读0次

https://leetcode-cn.com/problems/house-robber/

image.png

(图片来源https://leetcode-cn.com/problems/house-robber/

日期 是否一次通过 comment
2020-03-23 0

/** 遍历 */
    public int rob(int[] nums) {
        if(nums == null || nums.length < 1) {
            return 0;
        }

        int[] memo = new int[nums.length + 1];
        memo[0] = 0;
        memo[1] = nums[0];

        for(int i=1; i<nums.length; i++) {
            memo[i+1] = Math.max(memo[i], memo[i-1]+nums[i]);
        }

        return memo[nums.length];
    }


    /** 遍历 */
    public int rob2(int[] nums) {
        if (nums == null || nums.length < 1) {
            return 0;
        }

        int prev1 = 0;
        int prev2 = 0;
        for (int num : nums) {
            int tmp = prev1;
            prev1 = Math.max(prev2 + num, prev1);
            prev2 = tmp;
        }

        return prev1;
    }


    /** 暴力递归 */
    public int rob1(int[] nums) {

        return helper(nums, nums.length - 1);
    }

    private int helper(int[] nums, int i) {
        if (i < 0) {
            return 0;
        }

        return Math.max(helper(nums, i - 2) + nums[i], helper(nums, i - 1));
    }

相关文章

网友评论

      本文标题:198. House Robber

      本文链接:https://www.haomeiwen.com/subject/lyhwyhtx.html