news 2026/4/21 12:20:26

[HOT 100]今日一练------打家劫舍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[HOT 100]今日一练------打家劫舍

题目链接

https://leetcode.cn/problems/house-robber/?envType=study-plan-v2&envId=top-100-liked

思路

动态规划,动态转移方程主要取决于两种情况:

  1. 偷这家,不偷上家
  2. 不偷这家,偷或者不偷上家

由上述两种情况我们便可以得到我们的动态转移方程,在此之前我们先引入所需变量以便表示方程:

  1. f[i]:表示选择偷这家时,能拿到的最大的钱
  2. g[i]:表示选择不偷这家时,能拿到的最大的钱

因此我们可以将动态转移方程表示为:

  1. f[i] = g[i-1] + nums[i]
  2. g[i] = Math.max(f[i-1], g[i-1])

不过需要注意的时,在正式进行动态规划之前我们要先进行初始化:

  1. f[0] = nums[0]
  2. g[0] = 0

动态规划完成之后的结果会剩下最后一家,而对于最后一家来说我们有两种选择,偷或者不偷,因此我们只需要判断这两种方案哪个我们可以拿到最多的钱,即:Math.max(f[n-1]. g[n-1])

代码

class Solution { //动态规划 public int rob(int[] nums) { int n = nums.length; if(n == 0) return 0; //选择该数时和的最大值 int[] f = new int[n]; //不选择该数时和的最大值 int[] g = new int[n]; //初始化 f[0] = nums[0]; g[0] = 0; for(int i = 1; i < n; i++) { f[i] = g[i-1] + nums[i]; g[i] = Math.max(f[i-1], g[i-1]); } return Math.max(f[n-1], g[n-1]); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 12:19:16

Meshroom终极指南:如何从普通照片创建专业级3D模型

Meshroom终极指南&#xff1a;如何从普通照片创建专业级3D模型 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom 你是否曾想将手机拍摄的照片变成逼真的3D模型&#xff1f;是否被复杂的3D建模软…

作者头像 李华
网站建设 2026/4/21 12:19:14

FFT算法解析:DIF与DIT实现原理与工程优化

1. 离散傅里叶变换(DFT)基础与算法概述离散傅里叶变换(DFT)是现代数字信号处理的基石技术&#xff0c;它通过将时域信号转换为频域表示&#xff0c;实现了从波形观测到频谱分析的跨越。这种变换的数学本质是利用一组复指数基函数对信号进行正交分解&#xff0c;每个基函数对应特…

作者头像 李华
网站建设 2026/4/21 12:18:16

城通网盘解析神器:ctfileGet 让你的下载速度提升100倍

城通网盘解析神器&#xff1a;ctfileGet 让你的下载速度提升100倍 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘几十KB/s的蜗牛下载速度而烦恼吗&#xff1f;面对几个GB的大文件&#…

作者头像 李华
网站建设 2026/4/21 12:17:51

Visual C++运行库终极修复指南:5分钟解决Windows软件运行错误

Visual C运行库终极修复指南&#xff1a;5分钟解决Windows软件运行错误 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过软件无法启动&#xff0…

作者头像 李华
网站建设 2026/4/21 12:11:16

手把手教你用Python搞定CTF中的文件逆序与LSB隐写(附emoji解密)

手把手教你用Python破解CTF中的文件逆序与LSB隐写术 第一次接触CTF比赛中的MISC题目时&#xff0c;很多人会被那些看似普通的文件难住。一个没有后缀名的"zip"文件&#xff0c;一张看似平常的PNG图片&#xff0c;背后可能隐藏着需要层层解密的flag。本文将带你从零开…

作者头像 李华