如何解决leetcode中打家劫舍的问题
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,小编给大家分享一下如何解决leetcode中打家劫舍的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目链接https
千家信息网最后更新 2025年02月04日如何解决leetcode中打家劫舍的问题
小编给大家分享一下如何解决leetcode中打家劫舍的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
题目链接
https://leetcode-cn.com/problems/house-robber/
题目描述
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
示例 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 。
解题方案
思路
标签:动态规划
动态规划方程:
dp[n] = MAX( dp[n-1], dp[n-2] + num )
由于不可以在相邻的房屋闯入,所以在当前位置
n
房屋可盗窃的最大值,要么就是n-1
房屋可盗窃的最大值,要么就是n-2
房屋可盗窃的最大值加上当前房屋的值,二者之间取最大值举例来说:1号房间可盗窃最大值为3即为
dp[1]=3
,2号房间可盗窃最大值为4即为dp[2]=4
,3号房间自身的值为2即为num=2
,那么dp[3] = MAX( dp[2], dp[1] + num ) = MAX(4, 3+2) = 5
,3号房间可盗窃最大值为5时间复杂度:O(n),n为数组长度
代码
Java版本
class Solution {
public int rob(int[] nums) {
int len = nums.length;
if(len == 0)
return 0;
int[] dp = new int[len + 1];
dp[0] = 0;
dp[1] = nums[0];
for(int i = 2; i <= len; i++) {
dp[i] = Math.max(dp[i-1], dp[i-2] + nums[i-1]);
}
return dp[len];
}
}
JavaScript版本
/**
* @param {number[]} nums
* @return {number}
*/
var rob = function(nums) {
const len = nums.length;
if(len == 0)
return 0;
const dp = new Array(len + 1);
dp[0] = 0;
dp[1] = nums[0];
for(let i = 2; i <= len; i++) {
dp[i] = Math.max(dp[i-1], dp[i-2] + nums[i-1]);
}
return dp[len];
};
画解
以上是"如何解决leetcode中打家劫舍的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
房屋
金额
最大
最大值
号房
最高
就是
篇文章
打家劫舍
问题
内容
动态
小偷
数组
版本
示例
系统
要么
题目
规划
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库本地连接
宁夏互联网养老软件开发系统
服务器选择什么稳定
深圳港湾网络技术有限公司好吗
环保局网络安全自查报告范文
想进公安厅网络安全方面的工作
教育系统网络安全应急演练
湘潭软件开发招聘
服务器架设软件
公安网络安全执法检
会玩app 怎样绑定服务器
埃森哲上海软件开发工程师面试
网络安全的出众视频
代理服务器apk
简述软件开发的基本流程图
沈阳网络安全大赛
武汉网络安全职业学院
福州工商学院学生网络安全守则
id产品车联网免费服务器
服务器 mem
云服务器 搭建
江苏正规软件开发多少钱
微软的服务器操作系统
网络安全主题班会活动创新点
数据分析软件开发流程
服务器冷备份怎么恢复
甲骨文的数据库
思科网络技术3题目
网络安全专业申报
WIMAX网络安全ppt