news 2026/4/23 18:38:59

LeetCode热题100--198. 打家劫舍--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--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 。

题解

classSolution{publicintrob(int[]nums){intprev=0;intcurr=0;// 每次循环,计算“偷到当前房子为止的最大金额”for(inti:nums){// 循环开始时,curr 表示 dp[k-1],prev 表示 dp[k-2]// dp[k] = max{ dp[k-1], dp[k-2] + i }inttemp=Math.max(curr,prev+i);prev=curr;curr=temp;// 循环结束时,curr 表示 dp[k],prev 表示 dp[k-1]}returncurr;}}

解析

出自:图解动态规划的解题四步骤(C++/Java/Python)

classSolution{//定义解决方案类publicintrob(int[]nums){//函数rob以非相邻元素整型数组'nums'作为输入参数,并返回在该序列中可以窃取到的最大值。intprev=0;//初始化第一个状态为第零个房子(之前没有房子可偷取的状态)intcurr=0;//初始化第二个状态为第一个房子(当前已经进入了情况,可以开始考虑窃取下一个房子的情况)for(inti:nums){//这是对输入数组的遍历 - 'i'表示每个房子的金额。它涵盖了所有可能的元素(非相邻房屋的值,根据输入大小和长度而定)inttemp=Math.max(curr,prev+i);//计算如果我们当前处于数字'i'处时可以偷取到的最大金额。它等于当前可能窃取到的最大值和前一个状态下已经找过的最大的有效数+到目前为止的房间价格中的较大值prev=curr;//通过更新当前最大值和下一个最大值,将计算切换到输入数组的下一个房子(即将数字'i + 1'视作第k个状态)。它表示如果我们当前处于第(n - 2)个房子处时可以窃取到的最大金额curr=temp;//通过更新当前最大值和下一个最大值,将计算切换到输入数组的下一个房子(即将数字'i + 1'视作第k+1个状态)。它表示如果我们当前处于第(n - 1)个房子处时可以窃取到的最大金额returncurr;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:58:19

Zotero GPT插件完全入门指南:5步掌握AI文献管理新技能

Zotero GPT插件完全入门指南:5步掌握AI文献管理新技能 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt Zotero GPT插件是一款专为学术研究者设计的AI增强工具,通过集成GPT人工智能技术&am…

作者头像 李华
网站建设 2026/4/23 3:38:16

3步搞定音频解密:Mac端QQ音乐格式转换完全指南

3步搞定音频解密:Mac端QQ音乐格式转换完全指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结果…

作者头像 李华
网站建设 2026/4/23 17:24:09

SketchUp STL插件:打通数字设计与实体制造的关键桥梁

SketchUp STL插件:打通数字设计与实体制造的关键桥梁 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl 在三维设计领…

作者头像 李华
网站建设 2026/4/23 15:58:54

DOL-CHS-MODS汉化美化包:从零开始掌握完整安装与配置技巧

DOL-CHS-MODS汉化美化包:从零开始掌握完整安装与配置技巧 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 想要体验完全中文化的Degrees of Lewdity游戏吗?DOL-CHS-MODS整合包…

作者头像 李华
网站建设 2026/4/23 13:15:15

Elsevier稿件追踪插件:让学术投稿进度管理不再焦虑

Elsevier稿件追踪插件:让学术投稿进度管理不再焦虑 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 你是否曾经因为频繁刷新Elsevier投稿页面而感到疲惫?是否担心错过重要的审稿状态更新&…

作者头像 李华