当前位置: 首页 > news >正文

LeetCode算法 打家劫舍 和 打家劫舍II C++

目录

  • 题目 打家劫舍
  • 参考答案
  • 题目 打家劫舍II
  • 参考答案

题目 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

示例 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 。
提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 400

参考答案

class Solution {
public:int rob(vector<int>& nums) {if (nums.empty()) {return 0;}int size = nums.size();if (size == 1) {return nums[0];}int first = nums[0], second = max(nums[0], nums[1]);for (int i = 2; i < size; i++) {int temp = second;second = max(first + nums[i], second);first = temp;}return second;}
};

题目 打家劫舍II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。
给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。

示例 1:

输入:nums = [2,3,2]
输出:3
解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。

示例 2:

输入:nums = [1,2,3,1]
输出:4
解释:你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。

示例 3:

输入:nums = [0]
输出:0

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 1000

参考答案

class Solution {
public:int robRange(vector<int>& nums, int start, int end) {int first = nums[start], second = max(nums[start], nums[start + 1]);for (int i = start + 2; i <= end; i++) {int temp = second;second = max(first + nums[i], second);first = temp;}return second;}int rob(vector<int>& nums) {int length = nums.size();if (length == 1) {return nums[0];} else if (length == 2) {return max(nums[0], nums[1]);}return max(robRange(nums, 0, length - 2), robRange(nums, 1, length - 1));}
};
http://www.lryc.cn/news/44208.html

相关文章:

  • 蓝桥杯刷题冲刺 | 倒计时10天
  • 个人练习-Leetcode-剑指 Offer II 109. 开密码锁
  • 四个常见的Linux面试问题
  • 15、接口(C#)
  • C++中常见的容器类使用方法举例(vector、deque、map、set)
  • 什么是强缓存和协商缓存
  • 算法刷题之堆
  • javaweb导师选择系统
  • LeetCode150 逆波兰表达式求值
  • 【Node.js】项目开发实战(中)
  • 记录一次 New Bing 英语陪练
  • 【Python】照片居然能变素描?不会画画但是咱会代码
  • 已解决正确配置git环境变量
  • 【逐步剖C】-第十章-自定义类型之结构体、枚举、联合
  • Windows Server 2016 中文版、英文版下载 (updated Mar 2023)
  • Linux 4G 通信实验
  • 华为OSPF技术详细介绍,保姆级,谁都能看懂(一)
  • 行人车辆检测与计数系统(Python+YOLOv5深度学习模型+清新界面)
  • SM3哈希算法的FPGA实现 I
  • 【数据结构与算法】线性表--数组
  • 剑指offer排序专题
  • 已解决Cannot open D:\Soft\Python36\Scripts\pip3-script.py
  • 3 步走,快速上手 API 接口测试
  • 爬虫-day1-正则表达式作业
  • 【半监督医学图像分割 2023 CVPR】RCPS
  • 【UVM实战练习项目】2、UVM验证环境基本框架搭建(实例一)(纯软件环境,方便日后测试使用)
  • 【web前端初级课程】第四章 什么是JavaScript
  • 数字中国建设进行时:吉林大学党委常务副书记冯正玉一行调研实在智能
  • 面试官灵魂拷问[二]:SQL 语句中 where 条件后写上 1=1 是什么意思?
  • 进程与线程的关系