题目描述

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。

示例 1:输入: [1,2,3,1]
输出: 4
解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。
示例 2:输入: [2,7,9,3,1]
输出: 12
解释: 偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃到的最高金额 = 2 + 9 + 1 = 12 。

题目分析

这道题目是一个典型的动态规划题目,很典型的解法就是设置奇数和偶数步,不断进行求和比较,取当前最大值,详细思路请见源代码。

源代码

class Solution {
public:int rob(vector<int>& nums) {int sumOdd = 0;//奇数int sumEven = 0;//偶数for (int i = 0; i < nums.size(); i++){if (i % 2 == 0){sumEven += nums[i];//每次都和sumOdd做对比,如果sumOdd比较大的话,以此为基础继续向前打劫sumEven = max(sumOdd, sumEven);}else{sumOdd += nums[i];//每次都和sumEven做对比,如果sumEven比较大的话,就以此为基础继续向前打劫sumOdd = max(sumOdd, sumEven);}}return max(sumOdd, sumEven);}
};

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。相关推荐

  1. 【每日一练】你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

    你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定一个代表每 ...

  2. 198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报

    打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...

  3. 2021-10-28:打家劫舍 II。你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装

    2021-10-28:打家劫舍 II.你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装 ...

  4. 两间三层小型别墅图片_三层两间小别墅图片大全,自建房建议-淘金地

    坡屋顶的空间设计有可上人的阁楼,层墅图层墅图最有意思的是这个独特的嵌入式露台,想象一下夜晚在这里仰望天空是多么的惬意.那么小安今天就给大家带来一款三层双拼小别墅,两间建房建双拼,住着就安心.别墅多设有 ...

  5. uefi装完系统后无法引导_【修正】实战WIN10+UEFI引导装系统(不重装不格盘100%成功)...

    [修正]实战WIN10+UEFI引导装系统(不重装不格盘100%成功) 作者:31325325 来源:Windows10吧 of 百度贴吧 之前发了一篇"实战WIN10+UEFI引导装系统( ...

  6. ubuntu(23):ubuntu系统具有两个“系统盘”的说明:一个盘为系统盘,另一个为被系统文件占用的数据盘--可以格式化并重新分配卷类型和卷名称

    目录 1 情况说明 2 格式化磁盘并重新分配卷 2.1 格式化磁盘 2.2 重新分配卷 2.3  移动系统盘到ssd盘 1 情况说明 如下所示,ubuntu系统里面两个磁盘都有usr.bin之类的系统 ...

  7. 城轨的两类时钟系统均同步于_推介中央电视台4K IP化移动外场系统搭建中解决的主要问题...

    作者:中央电视台 孙培 根据4K超高清技术规划,中央广播电视总台各频道将逐步实现4K超高清体系的播出.为此,总台技术系统从前期拍摄.后期制作.总控.播出等全链路制作流程进行了4K超高清的建设改造.4K ...

  8. 大学生读书计划800字计算机专业,大学生读书计划范文3篇

    大学生读书计划范文3篇 大学生读书计划范文3篇1 提高学习效率是一个很重要的问题.许多学生学习成绩不佳,往往起因于学习效率不高.学习效率不高往往由多因素造成.较低的学习兴趣.不良的学习习惯.身体的疾病 ...

  9. 计算机科学是怎样的一个专业?

    如今,计算机技术已经非常普及,熟练掌握其应用已经成为现代社会成员的基本要求.计算技术已经改变了政府施加控制的能力,对全球化经济产生了巨大的影响,导致科学研究领域出现了一些令人瞩目的成就,革新了数据收集 ...

  10. 如何制定一个有效的项目管理计划?目标可预期、资源可调度、变化可控制、问题可预见、业绩可评价

    有人将很多项目的管理方式归结为"六拍运动"我深有同感,特将其整理如下,希望我们能够警惕这种 "运动".  第一拍:拍脑门.经常有些领导有了做一个项目的想法后,不 ...

最新文章

  1. Microsoft NLayerApp案例理论与实践 - 项目简“.NET研究”介与环境搭建
  2. k8s master节点参与调度(去除NoSchedule污点)
  3. 2020年行政区划代码_2020年南宁市行政区划,了解南宁市有几个区,详细数据
  4. vivado 验证ddr引脚_vivado下ddr3的读写和测试详解
  5. Reporting Service 2012 体系结构
  6. leetcode 210. Course Schedule II | 210. 课程表 II(Java)
  7. java 分号 转义_java – 正则表达式和转义和未转义的分隔符
  8. go tcp客户端自动重连_使用 Go 语言创建 WebSocket 服务
  9. Table阿里云mysql_数据同步-从MySQL到Tablestore-阿里云开发者社区
  10. java基础Runtime类的使用
  11. J-Link cmd的使用
  12. Windows监听进程的两个函数
  13. 河北520分理科计算机专业,河北最幸运考生,520分“捡漏”考上中国人民公安大学,网友:铁饭碗...
  14. 2020爱站网突然关闭,站长们现在用啥工具分析数据了?
  15. 鼠标键盘录制工具 脚本录制器 游戏脚本录制工具
  16. 微信小程序点击按钮弹出弹窗_微信小程序弹窗,微信小程序页面跳转、弹出框...
  17. python压缩图片 指定大小
  18. java 背单词系统_快速高效背单词系统方法论
  19. [转] 全球最值得听的100首英文歌【空了 听下吧】
  20. amd显卡风扇调节_amd显卡风扇速度设置linux版本

热门文章

  1. 去掉开始菜单中新装程序的红色标记【Windows】
  2. 粉丝关注数据库表的设计
  3. Qt - QVariant
  4. Hadoop1.2.0开发笔记(九)
  5. EnterpriseLibrary2.0的学习-DAAB
  6. notepad++自动补全括号
  7. 带你了解HTTP协议(一)
  8. SpringCloud实战(三)集成Open-Feign实现远程⽅法调⽤
  9. qtvs添加qchart_如何使用Qt Designer在表单中插入QChartView?
  10. 2021全国计算机二级知识点,2021年度Dlypeq全国计算机等级考试二级公共基础知识点总结.doc...