LeetCode 213 —— 打家劫舍 II

server/2024/9/24 7:42:09/

阅读目录

    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现

1. 题目

2. 解题思路

此题是 LeetCode 198—— 打家劫舍 的升级版,多了一个首尾相连的设定

因为首尾相连,所以第一个房屋和最后一个房屋只能偷窃其中一个

所以,第一种方案就是不偷窃最后一个房屋,那么我们从第一个房屋偷到倒数第二个房屋,看看这样能偷窃到的最大值是什么。

第二种方案则是从最后一个房屋偷到第二个房屋,这样也有一个最大的偷窃金额。

而这两种方案的较大值也就是我们题目所求。

3. 代码实现

class Solution {
public:int rob(vector<int>& nums) {if (nums.size() == 1) {return nums[0];}int stole_value = 0;int not_stole_value = 0;int max_value_1 = 0;for (int i = 0; i < nums.size()-1; ++i) {int temp = not_stole_value;not_stole_value = max(stole_value, not_stole_value);stole_value = temp + nums[i];max_value_1 = max(max_value_1, stole_value);}stole_value = 0;not_stole_value = 0;int max_value_2 = 0;for (int i = nums.size()-1; i > 0; --i) {int temp = not_stole_value;not_stole_value = max(stole_value, not_stole_value);stole_value = temp + nums[i];max_value_2 = max(max_value_2, stole_value);}return max(max_value_1, max_value_2);}
};

http://www.ppmy.cn/server/27951.html

相关文章

机器学习每周挑战——百思买数据

最近由于比赛&#xff0c;断更了好久&#xff0c;从五一开始不会再断更了。这个每周挑战我分析的较为简单&#xff0c;有兴趣的可以将数据集下载下来试着分析一下&#xff0c;又不会的我们可以讨论一下。 这是数据集&#xff1a; import pandas as pd import numpy as np impo…

帮助 Python 用户构建 CLI 界面:直观易写、简单高效 | 开源日报 No.240

tiangolo/typer Stars: 13.7k License: MIT typer 是一个构建出色命令行界面&#xff08;CLI&#xff09;的库&#xff0c;基于 Python 类型提示。它旨在让开发者轻松创建用户喜欢使用的 CLI 应用程序。其主要功能和核心优势包括&#xff1a; 直观易写&#xff1a;强大编辑器…

Spring Data JPA数据批量插入、批量更新真的用对了吗

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 前言 在前两篇文章已经介绍过&#xff0c;在使用Spring Data JPA时&#xff0c;DAO层的Respository通过继承J…

unix 命令总结

一、unix 命令总结 1.文件传输 rz/sz to transfer files sz filename // remote host 下载到本地 rz // 本地上传得到host 2.shell 后台运行&#xff0c;进程独立存在&#xff0c;不属于当前终端的子进程 https://www.cnblogs.com/chinas/p/7130378.html 3. 执行.…

2024五一杯数学建模竞赛A题完整成品论文和代码分析:建立钢板切割的工艺路径动态规划、贪心与分层优化模型

2024五一杯数学建模竞赛A题&#xff1a;建立钢板切割的工艺路径动态规划、贪心与分层优化模型 2024五一数学建模A题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/gyoz9ou5upvkv6nx?singleDoc# 本文文章较长&#xff0c;建议先目录。经过不懈的…

mysql如何优化

explain id&#xff1a;序列号&#xff0c;越大优先级越高&#xff0c;相同从上往下执行 null最后执行 select_type简单simple 复杂的查询:primary subquery derived union table:表 type:null > system > const > eq_ref > ref > range > index &…

python按时间分割日志

背景介绍 现在的项目都是RotatingFileHandler,指定每个文件大小,指定日志文件的份数。有一个缺点就是要看某一天的日志,需要把这一天之前的最后一份日志和这一天之后的第一份日志都拷贝下来,很多不是自己想要的内容。 需求 想要一个按时间,最好能按天分割日志。查看Pyth…

Daz Install Manager 安装daz表情包 表情动画

当然可以&#xff01;以下是关于使用 Daz Install Manager (DIM) 安装插件的入门教程&#xff1a; 第一步&#xff1a;安装 Daz Install Manager (DIM) 从官方网站下载 Daz Install Manager (DIM) 安装程序。运行安装程序&#xff0c;按照提示完成安装。通常建议保持默认安装…