news 2026/8/7 4:53:35

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/6 7:04:50

SketchUp 3D打印终极指南:手把手教你完成STL导出全流程

SketchUp 3D打印终极指南:手把手教你完成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/8/7 0:29:03

RDP Wrapper实现Windows远程连接扩展的完整指南

RDP Wrapper实现Windows远程连接扩展的完整指南 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 你是否曾经遇到过这样的尴尬时刻:想要同时连接多台Windows设备,却发现家庭版系统无法满足你的…

作者头像 李华
网站建设 2026/8/5 17:10:01

QMCDecode:QQ音乐加密格式一键转换终极指南

QMCDecode:QQ音乐加密格式一键转换终极指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结果存储…

作者头像 李华
网站建设 2026/8/3 6:15:00

策略路由优先级如何影响网络性能?

在当今快节奏的商业环境中,每一秒都可能意味着成千上万的交易机会。对于那些依赖于高效网络通信的企业来说,如何通过合理配置策略路由来提升整体运营效率成了一个不可忽视的话题。策略路由,简单来说,就是根据特定规则将数据包导向…

作者头像 李华
网站建设 2026/8/6 6:18:15

MusicFree插件完全指南:5分钟打造专属音乐播放器

MusicFree插件完全指南:5分钟打造专属音乐播放器 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 还在为音乐播放器功能单一而苦恼吗?MusicFree插件系统为你提供了无限扩展可…

作者头像 李华
网站建设 2026/8/6 19:28:57

如何通过Zotero GPT插件实现本地LLM模型的高效学术研究

如何通过Zotero GPT插件实现本地LLM模型的高效学术研究 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt 还在为文献处理效率低下而烦恼?担心云端AI服务的数据安全风险?Zotero GPT插件带来…

作者头像 李华