[LeetCode]House Robber
2015-11-27 04:19
330 查看
挺有意思的动态规划题目,只和i-2和i-3家的状态有关,取其中最大值
public class Solution { public int rob(int[] nums) { int length = nums.length; if (length == 0) { return 0; } else if (length == 1) { return nums[0]; } int[] record = new int[length]; int result = 0; record[0] = nums[0]; record[1] = nums[1]; result = Math.max(record[0], record[1]); for (int i = 2; i < length; i++) { int tmp1 = record[i - 2]; int tmp2 = i > 2 ? record[i - 3] : 0; record[i] = nums[i] + Math.max(tmp1, tmp2); result = Math.max(result, record[i]); } return result; } }
相关文章推荐
- 适配de的原理
- 善良 丰富 高贵 --- 周国平
- 边界面方程
- [Javascript] Array methods in depth - slice
- 拉格朗日乘子法和KKT条件
- Spark 跑 java 示例代码
- [ES6] ... spread operator
- 第一重要的是做人 --- 周国平
- Window7 上跑 Spark 单机模式
- Operating System: Three Easy Pieces --- Load-Linked and Store-Conditional (Note)
- Oracle内存结构:SGA PGA UGA
- IOS 中frame与bounds的区别
- 。U盘安装CentOS6.5
- [AngularJS] New in Angular 1.5 ng-animate-swap
- Akka实战:构建REST风格的微服务
- BingMap
- Google Earth API 替换方案
- zoj 2112 Dynamic Rankings 动态第k大 线段树套Treap
- LintCode: Longest Words
- 复习ZMQ的 REQ-ROUTER