LeetCode House Robber DP
2015-10-20 20:17
253 查看
思路:
递推公式:
DP。
时间复杂度:O(N),空间复杂度O(N)。
DP
java code:
递推公式:
maxAmount[i] = max(maxAmount[i-2] + nums[i], maxAmount[i-1])
DP。
时间复杂度:O(N),空间复杂度O(N)。
DP
java code:
class Solution { public: int rob(vector<int>& nums) { int n = nums.size(); if(n == 0) return 0; else if(n == 1) return nums[0]; else { vector<int> maxAmount(n, 0); maxAmount[0] = nums[0]; maxAmount[1] = max(nums[0], nums[1]); for(int i = 2; i < n; ++i) { maxAmount[i] = max(maxAmount[i-2] + nums[i], maxAmount[i-1]); } return maxAmount[n - 1]; } } };
public class Solution { public int rob(int[] nums) { if(nums == null || nums.length == 0) return 0; int[] dp = new int[nums.length + 1]; // init for(int i = 1; i <= nums.length; ++i) { dp[i] = nums[i - 1]; } // dp int max = dp[1]; for(int i = 2; i <= nums.length; ++i) { dp[i] = Math.max(dp[i] + dp[i - 2], dp[i - 1]); max = Math.max(dp[i], max); } return max; } }
相关文章推荐
- UI - NSThread
- [Servlet]Servlet/JSP Web应用配置
- hdoj 1229 还是a+b
- 第六周项目1 建立顺序栈算法库
- 数组的逆序输出
- NOIP2010/洛谷P1525关押罪犯
- 数据库
- 制作网页5---注意事项2
- Yii2的MVC新特性
- 线程整理
- Java内部类
- 微软推荐的Get a code signing certificate流程和链接
- Unity之Avatar原理
- LeetCode-Lowest Common Ancestor of a Binary Search Tree
- opencv2-遍历图像像素的14种方法
- IOS 基于APNS消息推送原理与实现
- 输入输出
- 结构体名与结构体类型名,可以一样吗?
- Calendar在Java中详细
- string::npos