leetcode-House Robber

动态规划思想,第i天能获得的最大金钱数为dp[i] =Math.max(nums[i] + dp[i - 2], dp[i - 1]),即要么是第i-1天的金钱数,要么是第i-2天的金钱数加上第i天的金钱数。

public class Solution {
    public int rob(int[] nums) {
        if(nums.length==0)
			return 0;
		if(nums.length==1)
			return nums[0];
		if(nums.length==2)
			return Math.max(nums[0], nums[1]);
        int []dp=new int[nums.length];
		dp[0]=nums[0];
		dp[1]=Math.max(nums[0], nums[1]);
		for(int i=2;i


你可能感兴趣的:(leetcode)