LeetCode-198 & 213:House Robber (房屋抢劫)

Windows 11 IoT企业版LTSC 24H2/25H2中文版安装指南(含OEM激活教程) 本文详细介绍了Windows 11 IoT企业版LTSC 24H2/25H2中文版的安装与OEM激活全流程。从系统镜像准备、硬件兼容性检查到自动化安装配置,再到OEM激活方案(包括SLIC注入和数字许可证激活),为工业自动化、数字标牌等物联网设备提供稳定可靠的系统部署指南。 阅读详情

题目198:House Robber

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.

问题解析:

每个房间里都有不同数量的财物,给出能抢劫的最大财物数。这里的唯一限制是不能同时对相邻的房间进行抢劫。

链接:

思路标签:

算法:DP

解答:

  • 明显的动态规划问题:从左到右抢劫,对于每间房子,其当前最大抢劫财物数为:到前前个房子的最大财物数+当前屋子财物数 or 到前一个屋的最大财物数,选取二者的最大值;也就是说要么抢当前屋子,要么不抢。
  • 每次都保存到前一个屋子的最大抢劫财物数和到当前屋子的抢劫财务数;
  • 使用两个量来保存即可,无需使用数组来保存。
class Solution {
public:
    int rob(vector<int>& nums) {
        int length = nums.size();
        if(length == 0) return 0;
        if(length == 1) return nums[0];

        int previous = nums[0];
        int current = max(nums[0], nums[1]);
        for(int i=2; i<length; ++i){
            int temp = current;
            current = max(previous+nums[i], current);
            previous = temp;
        }

        return current;
    }
};

题目213:House Robber II

After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, the security system for these houses remain the same as for those in the previous street.

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.

问题解析:

题目在198的基础上增加条件:社区是一个环形,第一个房子和最后一个房子相邻。

链接:

思路标签:

算法:DP

解答:

  • 可以利用上一题的思想来求解;
  • 因为对于n个房间:0~n-1,第一个房间和第二个房间相连。所以我们可以将整体分为两个子序列,分别计算0~n-2和1~n-1,选取其中的最大值。
class Solution {
public:
    int rob(vector<int>& nums) {
        int n = nums.size(); 
        if (n < 2) return n ? nums[0] : 0;
        return max(robber(nums, 0, n - 2), robber(nums, 1, n - 1));
    }
private:
    int robber(vector<int>& nums, int l, int r) {
        int pre = 0, cur = 0;
        for (int i = l; i <= r; i++) {
            int temp = max(pre + nums[i], cur);
            pre = cur;
            cur = temp;
        }
        return cur;
    }
};
粒子群算法Particle Swarm Optimization超详细解析+代码实例讲解 粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法(Evolutionary Algorithm - EA)。 阅读详情

相关推荐

从Reset到Read:深入解析Rolling Shutter曝光流水线

本文深入解析Rolling Shutter(卷帘曝光)的工作原理,重点探讨Reset和Read信号在图像传感器中的关键作用。通过Reset-Read流水线机制,详细解释了曝光控制、时序调优及运动伪影补偿等核心技术,帮助读者理解卷帘曝光在高速摄影和动态场景中的应用。

weixin_42531925的博客 253

House Robber(房屋偷盗问题):动态规划解法

文章目录[LeetCode198. House Robber](https://leetcode.com/problems/house-robber/)1.定义状态最后一步子问题状态2.转移方程3.初始值和边界条件4.计算顺序5.代码6复杂度分析7.优化代码 LeetCode198. House Robber 序列型动态规划问题,仍然按照一般的分析方法进行分析 1.定义状态 最后一步 先明确...

超级无敌小胖头 1487

【读论文】AI陪伴场景长期记忆(用户画像)解决方案

在长程人机交互中,如何让 AI 记住用户,不再是简单的“检索增强(RAG)”就能解决的问题。传统的向量数据库面临“信息信噪比低”、“人格不一致”以及“随着对话无限增长而崩塌”的困境。MemTensor 团队联合人大提出的Inside Out框架,从认知心理学汲取灵感,提出了一种基于PersonaTree(人格树)的显式记忆进化机制。该方案通过训练一个轻量级的(使用 DeepSeek-R1 蒸馏数据 + GRPO 强化学习),实现了将非结构化对话流实时压缩为结构化树操作(新增|更新|删除)。

kakaZhui的博客 817

动态规划——House Robber (小偷问题)

对于小偷问题,我们分析子问题的依赖关系,发现每个 f(k) 依赖 f(k−1)和 f(k−2)。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。小偷问题,原问题是 “从全部房子中能偷到的最大金额”,将问题的规模缩小,子问题就是 “从 k个房子中能偷到的最大金额 ”,用 f(k)表示。如果不偷这个房子,那么问题就变成在前 k−1个房子中偷到最大的金额,也就是子问题 f(k−1)。如果偷这个房子,那么前一个房子。

h1666186的博客 1220

linux虚拟机和电脑ping通(可上网)

linux虚拟机(Ubuntu)和电脑ping通。

观则明的博客 4117

模拟IC设计笔记:拆解一个经典的时钟占空比校正(DCC)电路模块,从理论到SPICE仿真

本文深入解析了时钟占空比校正(DCC)电路在模拟IC设计中的关键作用,特别是在高速ADC应用中。通过晶体管级拆解,详细介绍了基于电荷泵和积分器的模拟反馈型DCC电路设计,包括占空比检测、误差放大与校正执行单元的实现。文章还提供了SPICE仿真验证方法,确保电路在100MHz时钟下的稳定性和性能。

weixin_33725722的博客 428

House Robber

利用动态规划算法、求一个数组两两元素不可相邻的最大和

不积跬步无以至千里 726

AD20丝印层导入图片logo保姆级教程(附黑白预览避坑技巧)

本文提供了一份详尽的AD20丝印层导入图片Logo的实战指南。核心在于将图片预处理为高质量的单色BMP位图,并独家分享了利用Windows画图工具进行“黑白预览”的关键技巧,以提前规避转换失真。教程涵盖了从脚本获取、图片处理、参数设置到生产规范的完整流程,帮助硬件工程师高效、准确地在PCB的Top Overlay层添加个性化标识。

weixin_29194255的博客 386

【LeetCode 面试经典150题】198. House Robber 房屋偷盗者

nums。

qq_43513394的博客 542

硬件工程师进阶之路:从电路基础到PCB设计实战核心技能

硬件电路设计是一项融合电路理论、器件特性与工程实践的复合型技术。一块稳定可靠的电路板,不仅需要正确的原理图,更依赖于合理的叠层规划、元器件布局与布线策略。在高速数字电路日益普及的今天,信号完整性、电源完整性与电磁兼容性设计已成为决定产品成败的关键因素,工程师需要深入理解阻抗匹配、回流路径、去耦电容布置等技术原理,并将理论灵活应用于通信设备、消费电子、工业控制等各类产品研发场景。PCB设计正是连接电原理图与可量产产品之间的核心枢纽,也是硬件工程师能力进阶过程中的分水岭技能。掌握从基础电路分析到高速PCB设计,

weixin_29183637的博客 261

原理之(〇)3D Gaussian Splatting 数学原理与推导

3D Gaussian Splatting源于EWA的理论基础,本文重点从EWA模型出发,详细推导3D GS中的数学原理,加深对鱼眼相机畸变场景下的理解。

scott198512的博客 4157

House Robber【打家劫舍】【容易】

一、题目 英文:House Robber 中文:打家劫舍 二、内容要求 英文: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 f

hitscutee的博客 482

【2026OD新机考】【不定滑窗】20260415-API请求日志去重分析【Py/Java/C++/C/JS/Go六种语言OD真题】【欧弟算法】全网注释最详细分类最全的华子OD真题题解

中找到所有的连续的相同元素,同时统计对应的连续相同元素对应的值的平均值。:当右指针为第一个元素(没有前一个元素),或者右指针对应的元素。某微服务系统的日志监控平台需分析API调用记录,日志含大量。相等,说明当前元素仍然属于同一个相同元素窗口,将当前元素值。中的所有元素均相等,并且计算窗口和情况即可。请实现一个函数,对给定的日志数据去重合并处理。位置,表示开启一个新的窗口,此时需要重置窗口和。,为了优化重复的请求记录,存储和后续分析需对。:对应的响应时间数组(毫秒)。重新置为当前右指针的元素值。

weixin_48157259的博客 112

Leetcode 213 House Robber II 抢劫最大金额

HouseRobber扩展:抢劫完那条街道上的房子之后,这个贼有找到了实施自己盗窃行动的另一个地点,这样他才不会引来太多注意。这次,这里的搜有房子排成了一个圆圈,这意味着第一个房子和最后一个房子也是挨着的。与此同时,房子的安保系统还是和之前那条街上的一样(不能同时抢劫两所相邻的房子,否则会报警)

(ง •̀_•́)ง 1353

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LeetCode#213. House Robber II

213. House Robber II Total Accepted: 23996 Total Submissions: 80010 Difficulty: Medium Note: This is an extension of House Robber. After robbing those houses on that street, the thief has found

miaowangbing的博客 478

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

213. House Robber II [JavaScript]

一、解题思路   本道题目是198. House Robber的变题,解法与它基本类似,唯一区别就在于本道题目中的房屋首尾是相邻,也就意味着首尾房屋不能同时抢劫,那么完全可以将这个问题分割成: [0, nums.length - 2]房屋所产生的金额 [1, nums.length - 1]房屋所产生的金额   取两种情况的最大值即可。 二、代码实现 const rob = nums =&amp;amp;amp;gt...

descire 243

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[LeetCode] 213. House Robber II

原题链接: https://leetcode.com/problems/house-robber-ii/ House Robber 专题相关题目 198. House Robber 1. 题目介绍 You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

Ber03的博客 307

【Leetcode】213. House Robber II 【动态规划】

213. House Robber II Note: This is an extension of House Robber. After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too

renxingzhadan的专栏 644

【Leetcode】213. House Robber II(环形抢劫问题)

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place arearranged in a circle.That means the first house is ...

小I的博客 358

LeetCode 213: House Robber II

https://notes.daiyuhe.com/leetcode-213-house-robber-ii/ House Robber II You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All hou...

daiyuhe的博客 309

Leetcode House Robber系列

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 house

王旻宇 504

[LeetCode] 198. House Robber

原题链接: https://leetcode.com/problems/house-robber/ 1. 题目介绍 You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint sto...

Ber03的博客 217

LeetCode DAY41(198. House Robber&213. House Robber II&337. House Robber III)

【代码】LeetCode DAY41(198. House Robber&213. House Robber II&337. House Robber III)

weixin_48078699的博客 385

LeetCode | 198. House Robber, 213. House Robber II, 337. House Robber III

Link: https://leetcode.com/problems/house-robber/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

weixin_43615320的博客 393

LeetCode 213. House Robber II (Java版; Meidum)

welcome to my blog LeetCode 213. House Robber II (Java版; Meidum) 题目描述 You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses...

littlehaes的博客 355

LeetCode 213 House Robber II

题目描述Note: This is an extension of House Robber.After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time,

Yano_nankai的博客 1401
上一篇: 二叉树的垂直遍历
下一篇: LeetCode-69:Sqrt(x) (整数的平方根)
大树先生的博客
博客等级 码龄9年 2692粉丝 200原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值