LeetCode-House Robber II-解题报告
来源:互联网 发布:网络用语你妹什么意思 编辑:程序博客网 时间:2024/05/20 08:43
原题链接:https://leetcode.com/problems/house-robber-ii/
Note: This is an extension of House Robber.
After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place arearranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, the security system for these houses remain the same as for those in the previous street.
Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonightwithout alerting the police.
和house robber不同的地方在于首位也算相邻,只需要将环状dp变成线性dp
1 - n dp一次。
0 - n-1 dp一次。
取两次两次dp的最大值
我开始没想清楚,用了3次dp,不清不楚就ac了。。。
class Solution {public: int rob(vector<int>& nums) {int n = nums.size();if (n == 0)return 0;if (n == 1)return nums[0];if (n == 2)return max(nums[0], nums[1]);if (n == 3)return max(max(nums[0], nums[1]), nums[2]);int prepre = nums[0], t;int pre = nums[1];pre = max(prepre, pre);int ans;for (int i = 2; i < n - 1; ++i){t = pre;pre = max(prepre + nums[i], pre);prepre = t;}ans = pre;prepre = nums[1];pre = nums[2];pre = max(prepre, pre);for (int i = 3; i < n; ++i){t = pre;pre = max(prepre + nums[i], pre);prepre = t;}ans = max(pre, ans);prepre = nums[2];pre = nums[3];pre = max(prepre, pre);for (int i = 4; i < n; ++i){t = pre;pre = max(prepre + nums[i], pre);prepre = t;}ans = max(pre, ans);return ans;}};
- LeetCode-House Robber II-解题报告
- 【LeetCode】House Robber I & II 解题报告
- [leetcode] 213. House Robber II 解题报告
- leetcode解题报告:213. House Robber II
- [Leetcode] 213. House Robber II 解题报告
- LeetCode-House Robber-解题报告
- 【LeetCode】House Robber 解题报告
- [leetcode] 198. House Robber 解题报告
- [leetcode] 337. House Robber III 解题报告
- LeetCode 337. House Robber III 解题报告
- [Leetcode] 198. House Robber 解题报告
- [Leetcode] 337. House Robber III 解题报告
- LeetCode House Robber II
- [LeetCode] House Robber II
- [leetcode] House Robber II
- 【leetcode】House Robber II
- Leetcode: House Robber II
- leetcode House Robber II
- 荣云SDK2.0集成
- C++11中的std::function
- 单例模式
- 希望帮对了人
- [前端] marquee使用
- LeetCode-House Robber II-解题报告
- [leetcode] 121. Best Time to Buy and Sell Stock
- Struts标签实现分页(当前页码在中间显示)
- java实现文件上传并预览效果
- http://blog.sina.com.cn/s/blog_4e7859dd01009xds.html
- Oracle DUAL 表
- Codeforces 557C Arthur and Table 乱搞题
- GCD 深入理解(一)
- CSS控制之IE常见BUG及解决方案