House Robber II问题及解法
来源:互联网 发布:龚克 人工智能 编辑:程序博客网 时间:2024/06/16 17:46
问题描述:
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 are arranged 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 tonight without alerting the police.
问题分析:
虽然变成了 一个环状,但实质分析来看,只不过是分成了下面两种情况(0和n-1现在是邻居,不能同时抢):
①0到n-2
②1到n-1
①和②中能抢到的最大值就是答案
过程详见代码:
class Solution {public: int rob(vector<int>& nums) {int n = nums.size();if (n < 2) return n ? nums[0] : 0;return max(robber(nums, 0, n - 2), robber(nums, 1, n - 1));}int robber(vector<int>& nums, int l, int r) {int pre = 0, cur = 0;for (int i = l; i <= r; i++) {int temp = max(pre + nums[i], cur);pre = cur;cur = temp;}return cur; }};
阅读全文
0 0
- House Robber II问题及解法
- House Robber III 问题及解法
- LeetCode House Robber II
- 213House Robber II
- Leetcode213-House Robber II
- [LeetCode] House Robber II
- [leetcode] House Robber II
- 【leetcode】House Robber II
- House Robber II
- Leetcode: House Robber II
- House Robber II
- House Robber II
- leetcode House Robber II
- [leetcode] House Robber II
- LeetCode213:House Robber II
- [LeetCode]House Robber II
- House Robber II
- leetcode--House Robber II
- 使用IDEA2017创建java web +maven项目
- Android App压力测试入门
- Java spring中实现自动生成Excel文件并可下载
- OpenCV手机摄像头方向的问题
- 关于记忆--与遗忘
- House Robber II问题及解法
- oracel 存储过程中使用decode函数
- 第14周项目1(7)- 验证算法 归并排序
- 在MATLAB2016b 解决 快捷键问题
- Bootstrap资料
- 设计模式(二十三)------23种设计模式(15):备忘录模式
- 教你如何用显卡挖比特黄金BTG(BitcoinGold)BTG挖矿教程
- 快速幂(Fast Power)
- 分布式配置管理平台的设计与实现