Leetcode 打家劫舍

335 字
2 分钟
Leetcode 打家劫舍

198. 打家劫舍#

题目描述#

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

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

示例 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) {
int n = nums.size();
vector<int> money(n + 1);
if (n == 1) {
money[0] = nums[0];
return money[0];
} else if (n == 2) {
money[1] = max(nums[0], nums[1]);
return money[1];
} else {
money[0] = nums[0];
money[1] = max(nums[0], nums[1]);
for (int i = 2; i < n; i++)
money[i] = max(money[i - 2] + nums[i], money[i - 1]);
}
return money[n - 1];
}
};

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Leetcode 打家劫舍
https://wonique.space/posts/打家劫舍/
作者
月初
发布于
2026-07-13
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
月初
我喜欢,人的身上有光,光而不耀,与光同尘
公告
你好,我是月初,欢迎来到我的博客!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
34
分类
6
标签
15
总字数
14,678
运行时长
0
最后活动
0 天前

文章目录