码迷,mamicode.com
首页 > 其他好文 > 详细

198. House Robber

时间:2016-06-29 06:41:53      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

到某个位置的房子为止最大的收益,是“上个房子最大收益”和“上上个房子收益+本房子的收益”中比较大的那个

因为需要用到上上个房子的值,所以至少要有三个房子,所以一个房子的时候要单独处理

 1     public int rob(int[] nums) {
 2         if(nums.length == 0) {
 3             return 0;
 4         }
 5         int len = nums.length;
 6         int[] maxMoney = new int[len];
 7         if(len == 1) {
 8             return nums[0];
 9         }
10         maxMoney[0] = nums[0];
11         maxMoney[1] = Math.max(nums[0], nums[1]);
12         for(int i = 2; i < len; i++) {
13             maxMoney[i] = Math.max(maxMoney[i-2] + nums[i], maxMoney[i-1]);
14         }
15         return maxMoney[len-1];
16     }

 

198. House Robber

标签:

原文地址:http://www.cnblogs.com/warmland/p/5625570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!