[LeetCode]House Robber
来源:互联网 发布:淘宝卖家的支付宝红包 编辑:程序博客网 时间:2024/06/05 11:27
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.
Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.
思路:解动态规划的题,本质上推出递推公式可以解决。
如果求n个房子的抢劫f(n)最后的解分两种情况:
1)抢劫第n个房子,然后加上抢劫n-2个房子的最大值f(n-2);
2)抢劫第n-1个房子,然后抢劫前n-3个房子的最大值f(n-3);
f(n)取其中的大值。
所以f(n)=max{A[n-1]+f(n-2),A[n-2]+f(n-3)};
特别注意这种递推关系不适合用递归求,因为会导致重复递归,最后复杂度接近指数级别。直接采用动态规划求解。
class Solution {public: int rob(vector<int> &num) { if(num.size()==0) return 0; int step1=0; int step2=0; int step3=num[0]; int step4=0; for(int i=1;i<num.size();++i){ step4=max(num[i]+step2,num[i-1]+step1); step1=step2; step2=step3; step3=step4; } return step3; }};
- 【dp】Leetcode House Robber&& House Robber II
- 【leetcode】House Robber && House Robber II
- LeetCode --- House Robber & House Robber II
- LeetCode OJ House Robber
- Leetcode: House Robber
- Leetcode 198: House Robber
- House Robber - LeetCode
- LeetCode 之 House Robber
- leetcode--House Robber
- [leetcode]47 House Robber
- [LeetCode] House Robber
- LeetCode :House Robber
- [leetcode] House Robber
- [leetcode]House Robber
- [LeetCode]198.House Robber
- LeetCode House Robber题解
- leetcode:House Robber
- [LeetCode]House Robber
- uva 11137 Ingenuous Cubrency (完全背包)
- config Tomcat service on ubuntu14 server as daemon thread
- 我希望自己是什么样的程序员技术达人[切勿浮沙筑塔]
- Hadoop使用技巧
- HibernateDaoSuppor源码
- [LeetCode]House Robber
- 【C语言】用结构体数组指针完成:有三个学生信息,存放在结构体数组中,要求输出全部信息
- Fileupload上传文件修改文件名字
- 两个隔离的网卡配置
- xpages客户端安装插件demo
- LeetCode Department Top Three Salaries
- TCP如何保证它的通信的可靠性
- Struct 和 Union区别
- Hibernate注解详解