news 2026/8/20 21:36:53

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/8/20 10:35:56

5分钟掌握微信小程序逆向解包:wxappUnpacker工具完全指南

5分钟掌握微信小程序逆向解包:wxappUnpacker工具完全指南 【免费下载链接】wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 还在为无法查看优秀小程序的源码而苦恼吗?想学习知名小程序的实现思路却无从下手&…

作者头像 李华
网站建设 2026/8/20 22:51:49

智能刷步数工具:彻底告别手动刷步数的烦恼

智能刷步数工具:彻底告别手动刷步数的烦恼 【免费下载链接】mimotion 小米运动刷步数(微信支付宝)支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 还在为每天刷步数而烦恼吗?工作繁忙没时间运动&am…

作者头像 李华
网站建设 2026/8/20 8:50:12

3步解决漫画下载难题:自动化工具助你高效收藏

3步解决漫画下载难题:自动化工具助你高效收藏 【免费下载链接】E-Hentai-Downloader Download E-Hentai archive as zip file 项目地址: https://gitcode.com/gh_mirrors/eh/E-Hentai-Downloader 还在为漫画下载发愁吗?每次都要手动保存几十上百张…

作者头像 李华
网站建设 2026/8/20 15:03:11

星穹铁道智能管家:让AI自动打理你的游戏日常

星穹铁道智能管家:让AI自动打理你的游戏日常 【免费下载链接】March7thAssistant 🎉 崩坏:星穹铁道全自动 Honkai Star Rail 🎉 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 你是否曾经因为工作忙碌而…

作者头像 李华
网站建设 2026/8/20 7:07:08

微信小程序逆向解包终极指南:wxappUnpacker工具深度解析

微信小程序逆向解包终极指南:wxappUnpacker工具深度解析 【免费下载链接】wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 还在为无法查看小程序源码而苦恼吗?wxappUnpacker作为业界领先的微信小程序解包神器&am…

作者头像 李华