打家劫舍,动态规划

99 阅读1分钟
class Solution {
    public int rob(int[] nums) {
        int l=nums.length;
      if(nums==null||l==0)return 0;
      int[] dp=new int[l];
      if(l==1)return nums[0];
      dp[0]=nums[0];
      dp[1]=Math.max(nums[0],nums[1]);
      for(int i=2;i<l;i++){
        dp[i]=Math.max(dp[i-2]+nums[i],dp[i-1]);
      }
      return dp[l-1];
    }
}