标签:logs for 直线 想法 ack bsp == length 题目
public int rob(int[] nums) { int n=nums.length; if(n==0) return 0; if(n ==1) return nums[0]; if(n==2) return Math.max(nums[0],nums[1]);
//0到n-2就是第一个到倒数第二个房子
//1到n-1就是第二个到最后一个房子
return Math.max(f(nums,0,n-2),f(nums,1,n-1)); } private static int f(int[] nums,int s,int e){ int n=nums.length; int[] dp=new int[e-s+1]; dp[0]=nums[s]; dp[1]=Math.max(dp[0],nums[s+1]); for(int i=2;i<e-s+1;i++){ dp[i]=Math.max(dp[i-2]+nums[s+i],dp[i-1]); } return dp[e-s]; }
标签:logs for 直线 想法 ack bsp == length 题目
原文地址:http://www.cnblogs.com/team42/p/6753112.html