题目:

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.

题目解答:这是个很典型的动态规划的问题。

在碰到当前这家时,要不要抢劫,取决于其抢前一家基础上所能获得的最大值和抢前两家加上当前这一家的钱的最大值的比较结果。如果,抢前一家获得了最大,那么就不要抢这家了;否则,就需要累加它。

其实说起来,就是在一个非负数组中,不能连续取数,求出可以取得的总和的最大值。

代码如下:

class Solution {
public:
    int rob(vector<int>& nums) {
        int size = nums.size();
        if(size <= 0)
            return 0;
        if(size == 1)
            return nums[0];
        if(size == 2)
            return max(nums[0],nums[1]);
           
        vector<int> getMoney(size);
        getMoney[0] = nums[0];
        getMoney[1] = max(getMoney[0],0 + nums[1]);
        for(int i = 2; i < size;i++)
        {
            getMoney[i] = max(getMoney[i - 1],getMoney[i - 2] + nums[i]);
        }
        return getMoney[size - 1];
    }
   
    int max(int a,int b)
    {
        return a > b ? a : b;
    }
};

转载于:https://www.cnblogs.com/CodingGirl121/p/5414507.html

Leetcode题目:House Robber相关推荐

  1. leetcode 337. House Robber III | 337. 打家劫舍 III(树形dp;什么情况下dp需要强制包含当前元素?)

    题目 https://leetcode.com/problems/house-robber-iii/ 思考:什么情况下 dp 需要强制包含当前元素? dp 过程中,需要包含当前元素 的例子: leet ...

  2. Leetcode题目练习总结(持续更新......)

    Leetcode题目练习 数组 1.两数之和 26. 删除排序数组中的重复项 27. 移除元素 35.搜索插入位置 53.最大子序列 66.加一 88.合并两个有序数组 118.杨辉三角 119.杨辉 ...

  3. ​“手把手撕LeetCode题目,扒各种算法套路的裤子”

    出品 | AI科技大本营(ID:rgznai100) 刷LeetCode刷到懵还是一头雾水? 莫慌,这里有一个标星27000+的算法详解教程. 从项目命名来看,作者labuladong就有着要干翻算法 ...

  4. python检索地址_35.leetcode题目讲解(Python): 搜索插入位置

    题目如下: image.png 这道题使用双指针折半查找比较容易解,指的注意的是,如果出现插入元素与输入数组里的元素相同,需要插入到相同元素的位置,比如: [8,5,3],5 应该返回1,而不是2. ...

  5. Github标星59.7k:用动画的形式呈现解LeetCode题目的思路

    前些日子推荐了一个仓库,把常见算法用python语言实现了(见文章),近日在github上发现另外一个59700多star的仓库,用动画的形式呈现解LeetCode题目的思路,非常值得推荐. 仓库说明 ...

  6. 推荐:用动画的形式呈现解LeetCode题目的思路(github上25000多star)

    前些日子推荐了一个仓库,把常见算法用python语言实现了(见文章),近日在github上发现另外一个25000多star的仓库,用动画的形式呈现解LeetCode题目的思路,非常值得推荐. 仓库说明 ...

  7. 二叉树笔记(深度遍历与广度遍历+13道leetcode题目(深度3道、广度10道))

    本文章为结合leetcode题目以及公众号"代码随想录"的文章所做的笔记! 感觉代码随想录的题目整理真的很好,比自己盲目刷题好很多. 目录 1.二叉树小记 1.满二叉树与完全二叉树 ...

  8. python旋转排序数组_33.leetcode题目讲解(Python):搜索旋转排序数组

    题目如下: 题目 这道题比较简单,不做过多解释了,注意程序终止条件,参考代码如下: class Solution: def search(self, nums, target): "&quo ...

  9. LeetCode题目总结-滑窗法

    LeetCode题目总结-滑动窗口法 滑动窗口法:此方法首先建立一个长度为零的窗口,把右侧窗口向右移动,当新的元素与原来窗口中的元素不重复时,把新的元素加入其中,并更新窗口长度:当新的元素与原集合中的 ...

  10. “手把手撕LeetCode题目,扒各种算法套路的裤子”

    来源 | AI科技大本营(ID:rgznai100) 刷LeetCode刷到懵还是一头雾水? 莫慌,这里有一个标星27000+的算法详解教程. 从项目命名来看,作者labuladong就有着要干翻算法 ...

最新文章

  1. 什么可以搜python答案_什么软件可以搜python答案
  2. Animate与transform的使用
  3. 面向.NET开发人员的Dapr——俯瞰Dapr
  4. Linux:chmod命令-修改文件或目录的权限
  5. ffmpeg rtp传输使用
  6. 免扣(抠)PNG格式图片,让你告别抠图之痛!
  7. 【模拟】NCPC 2014 E ceremony
  8. [原创]补丁工具V1.6.3
  9. mysql中chr_MySQL常见函数
  10. python3 + pycharm+requests+HTMLTestRunner生成不了测试报告html
  11. 古今地名对照总表 (按笔划数排序,强烈推荐的资料)
  12. 剖析虚幻渲染体系(15)- XR专题
  13. 用java判断是否是合法邮箱即验证邮箱格式
  14. 求空间两条直线之间的距离
  15. 大数据——Java中异常的捕获和处理
  16. Google新版第三方登录(Javascript SDK)
  17. brpc搭建、编译和使用
  18. 计算机启动一直进pe,win7装完系统后开机自动进入pe界面怎么办
  19. 估值“洼地” 煤炭板块再度崛起(附股)
  20. 分享一波CSS免费可商用字体(一)

热门文章

  1. ios tweak之binary not signed (use ldid -S)问题解决
  2. Webpack入门——使用Webpack打包Angular项目的一个例子
  3. 浏览器兼容的JS写法总结
  4. JPA 实体生命周期图
  5. 如何删除“无法读源文件或磁盘”的空头文件
  6. 不同vlan同段IP通信
  7. 2018-12-21 作业
  8. mysql中的union用法以及子查询综合应用
  9. linux curl 命令(转)
  10. Windows C++ 获取当前文件夹下有几个文件