zoukankan      html  css  js  c++  java
  • LeetCode_198. House Robber

    198. House Robber

    Easy

    You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.

    Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.

    Example 1:

    Input: [1,2,3,1]
    Output: 4
    Explanation: Rob house 1 (money = 1) and then rob house 3 (money = 3).
                 Total amount you can rob = 1 + 3 = 4.

    Example 2:

    Input: [2,7,9,3,1]
    Output: 12
    Explanation: Rob house 1 (money = 2), rob house 3 (money = 9) and rob house 5 (money = 1).
                 Total amount you can rob = 2 + 9 + 1 = 12.
    package leetcode.easy;
    
    public class HouseRobber {
    	public int rob(int[] nums) {
    		if (nums.length == 0) {
    			return 0;
    		}
    		if (nums.length == 1) {
    			return nums[0];
    		}
    
    		int[] dp = new int[nums.length + 1];
    		dp[1] = nums[0];
    		for (int i = 2; i < dp.length; i++) {
    			dp[i] = Math.max(nums[i - 1] + dp[i - 2], dp[i - 1]);
    		}
    		return dp[dp.length - 1];
    	}
    
    	@org.junit.Test
    	public void test() {
    		int[] nums1 = { 1, 2, 3, 1 };
    		int[] nums2 = { 2, 7, 9, 3, 1 };
    		System.out.println(rob(nums1));
    		System.out.println(rob(nums2));
    	}
    }
    
  • 相关阅读:
    jquery的$().each,$.each的区别
    前端面试题整理
    JS中Null与Undefined的区别
    LESS介绍及其与Sass的差异(转载自伯乐在线,原文链接:http://blog.jobbole.com/24671/)
    APP 弱网测试
    ADB命令
    pytest之参数化parametrize的使用
    APP测试
    python 异常捕捉
    pip 安装依赖 requirements.txt
  • 原文地址:https://www.cnblogs.com/denggelin/p/11718500.html
Copyright © 2011-2022 走看看