213. House Robber II

原创 2016年08月31日 15:57:07

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.

Credits:
Special thanks to @Freezen for adding this problem and creating all test cases.

Subscribe to see which companies asked this question


刚开始看到这个题不知道怎么判断0和n-1个数的情况,看别的文章中说只要两次调用House Robber就好了,但是感觉还是有点别扭,不知道还有没有其他更好的解答。

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]);
        return max(rob(nums,0,n-1),rob(nums,1,n));
        
    }

//下面就是House Robber的解答,用a表示第i-2次,b表示i-1次,省去了开一个数组保存的麻烦。
    int rob(vector<int>&nums, int start, int end)
    {
        int a=0,b=0;
        for(int i=start;i<end;i++)
        {
            int m=max(b,a+nums[i]);
            a=b;
            b=m;
        }
        return b;
    }
};

Leetcode 213 House Robber II 抢劫最大金额

HouseRobber扩展:抢劫完那条街道上的房子之后,这个贼有找到了实施自己盗窃行动的另一个地点,这样他才不会引来太多注意。这次,这里的搜有房子排成了一个圆圈,这意味着第一个房子和最后一个房子也是挨...
  • smile_watermelon
  • smile_watermelon
  • 2015年08月19日 23:38
  • 561

LeetCode213:House Robber II

Note: This is an extension of House Robber. After robbing those houses on that street, the thief ...
  • u012501459
  • u012501459
  • 2015年06月13日 11:14
  • 1216

leetcode 213 : House Robber II

leetcode 213 : House Robber II
  • xudli
  • xudli
  • 2015年05月21日 07:36
  • 9552

【Leetcode】213. House Robber II 【动态规划】

213. House Robber II Note: This is an extension of House Robber. After robbing those houses ...
  • renxingzhadan
  • renxingzhadan
  • 2016年07月24日 00:25
  • 239

Leetcode 198: House Robber

House Robber Total Accepted: 642 Total Submissions: 2562You are a professional robber planning to r...
  • xudli
  • xudli
  • 2015年04月01日 02:51
  • 4451

213. House Robber II

原想按照 House Robber那样: f.resize(nums.size(), vector(2)); //f[i][0] indicates the max value got when ...
  • linwutao0810
  • linwutao0810
  • 2016年03月20日 22:46
  • 77

Leetcode-198. House Robber,213. House Robber II

题目:
  • caoyan_12727
  • caoyan_12727
  • 2016年11月15日 22:15
  • 158

213. House Robber II**

Note: This is an extension of House Robber. After robbing those houses on that street, the thief ...
  • alwaystry
  • alwaystry
  • 2017年02月01日 13:53
  • 100

LeetCode 213. House Robber II

和LeetCode 198. House Robber类似,应用动态规划,构造数组dp[nums.size()][2][2],  相比LeetCode 198. House Robber, 由于题目将...
  • u014674776
  • u014674776
  • 2015年08月12日 16:15
  • 452

198. House Robber && 213. House Robber II

问题描述 You are a professional robber planning to rob houses along a street. Each house has a certain ...
  • nzcusing
  • nzcusing
  • 2017年05月06日 23:51
  • 113
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:213. House Robber II
举报原因:
原因补充:

(最多只允许输入30个字)