news 2026/10/7 3:14:14

力扣 打家劫舍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣 打家劫舍

题目:

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

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

一、题目理解

给定一个数组nums,其中:

  • nums[i]表示第i间房子的金额

  • 相邻的房子不能同时抢

目标是:
在不触发警报的前提下,抢到最多的钱。


二、为什么这是动态规划问题?

这是一个**典型的「选择 + 约束」问题:

  • 每一间房子只有两种选择:

    • 抢

    • 不抢

  • 选择当前房子,会影响后续选择(相邻不能抢)

这种「当前决策依赖之前结果」的结构,非常适合用动态规划(DP)。


三、状态定义(关键)

定义:

dp[i] = 抢到第 i 间房子为止,能够获得的最大金额

注意:

  • dp[i] 不是「是否抢第 i 家」

  • 而是:在前 i 家房子中,能拿到的最大值


四、状态转移方程(核心)

考虑第i间房子,有两种情况:

情况 1:不抢第 i 间房

那么最大金额等于:dp[i-1]

情况 2:抢第 i 间房

  • 那第i-1间房一定不能抢

  • 上一个合法状态只能来自i-2

  • 那么最大金额等于:dp[i-2] + nums[i]

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

综合两种情况

dp[i] = max( dp[i-1], dp[i-2] + nums[i] )

这一步是整道题的灵魂


五、初始条件

dp[0] = nums[0] dp[1] = max(nums[0], nums[1])

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 13:22:50

经典算法题详解之统计重复个数(三)

算法我们设计一个哈希表 recall&#xff1a;哈希表 recall 以 s2 字符串的下标 index 为索引&#xff0c;存储匹配至第 s1cnt 个 s1 的末尾&#xff0c;当前匹配到第 s2cnt 个 s2 中的第 index 个字符时&#xff0c; 已经匹配过的 s1 的个数 s1cnt 和 s2 的个数 s2cnt 。我们在…

作者头像 李华
网站建设 2026/10/6 15:32:29

移动应用开发实验室大一上考核

文章目录一、二叉树的前序遍历递归法迭代法二、用栈实现队列1. push(int x)&#xff1a;将元素加入队列尾部2. pop()&#xff1a;移除并返回队列头部元素3. peek()&#xff1a;返回队列头部元素4. empty()&#xff1a;判断队列是否为空三、无重复字符的最长字串四、打家劫舍1. …

作者头像 李华
网站建设 2026/10/6 21:53:47

云数据库服务(如AWS RDS)的优势和考虑因素?

随着全球数字化转型的浪潮进入深水区&#xff0c;数据已成为企业最核心的战略资产。如何高效、安全、经济地管理和利用这些数据&#xff0c;直接关系到企业的市场竞争力与创新能力。在此背景下&#xff0c;以亚马逊云科技&#xff08;AWS&#xff09;的关系型数据库服务&#x…

作者头像 李华
网站建设 2026/10/7 3:42:49

【设计模式|第四篇】适配器模式:让不兼容的接口协同工作

适配器模式详解基本概念现实生活中的例子 核心角色优缺点分析优点缺点 实现方式及选择类适配器对象适配器如何选择 实际应用案例设计建议与其他模式的关系 适配器模式详解 基本概念 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它的核…

作者头像 李华
网站建设 2026/10/7 3:09:08

asgiref终极指南:高效解决Python异步通信难题

asgiref终极指南&#xff1a;高效解决Python异步通信难题 【免费下载链接】asgiref ASGI specification and utilities 项目地址: https://gitcode.com/gh_mirrors/as/asgiref 在当今高并发的Web应用开发中&#xff0c;你是否经常面临同步代码阻塞异步流程、线程安全问题…

作者头像 李华
网站建设 2026/10/6 21:45:51

医学影像深度学习知识点总结

T1像和T2像的区别 T1像便于显示解剖结构,T2像便于显示病灶部位.FLAIR像便于显示结合水变化情况,人体内有自由水和结合水的分布,结合水的变化情况往往反映了局部组织出现梗塞情况,这种情况下采用FLAIR成像可以将这样的变化显示出来. FLAIR像(液体反转恢复),约等于T2成像 TR,TE,F…

作者头像 李华