码迷,mamicode.com
首页 > 其他好文 > 详细

213 House Robber II 打家劫舍 II

时间:2018-04-08 22:38:47      阅读:468      评论:0      收藏:0      [点我收藏+]

标签:一个   整数   这一   and   problem   log   highlight   tps   help   

注意事项: 这是 打家劫舍 的延伸。
在上次盗窃完一条街道之后,窃贼又转到了一个新的地方,这样他就不会引起太多注意。这一次,这个地方的所有房屋都围成一圈。这意味着第一个房子是最后一个是紧挨着的。同时,这些房屋的安全系统与上次那条街道的安全系统保持一致。
给出一份代表每个房屋存放钱数的非负整数列表,确定你可以在不触动警报的情况下盗取的最高金额。

详见:https://leetcode.com/problems/house-robber-ii/description/

class Solution {
public:
    int rob(vector<int>& nums) {
        int n=nums.size();
        if(n==0||nums.empty())
        {
            return 0;
        }
        if(n==1)
        {
            return nums[0];
        }
        return max(robHelper(nums,0,n-1),robHelper(nums,1,n));
    }
    int robHelper(vector<int> &nums, int left, int right) {
        if (right - left <= 1)
        {
            return nums[left];
        }
        vector<int> dp(right, 0);
        dp[left] = nums[left];
        dp[left + 1] = max(nums[left], nums[left + 1]);
        for (int i = left + 2; i < right; ++i)
        {
            dp[i] = max(nums[i] + dp[i - 2], dp[i - 1]);
        }
        return dp.back();
    }
};

 参考:https://www.cnblogs.com/grandyang/p/4518674.html

213 House Robber II 打家劫舍 II

标签:一个   整数   这一   and   problem   log   highlight   tps   help   

原文地址:https://www.cnblogs.com/xidian2014/p/8747490.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!