当前位置:网站首页>LeetCode 198:打家劫舍
LeetCode 198:打家劫舍
2022-08-10 17:30:00 【斯沃福德】
链接
题目:
思路:动态规划
dp定义:以start为起点,可以偷的最多的钱是多少, 所求即 dp(nums,0) ;
状态和选择:
状态:就是起点start,即小偷所处的位置即nums数组的索引;
选择:当前要么抢,要么不抢,如果不抢则start想前走+1,如果抢,则要加上当前nums中start位置的钱,然后start+2 !base case:
如果 start > nums.lenth-1 ,则为0 ,即起点超过最后一家就抢不到了;重叠子问题
class Solution {
int memo[];
public int rob(int[] nums) {
memo=new int[nums.length];
Arrays.fill(memo,-1); // 初始化dp
return dp(nums,0);
// memo定义:从 i出发能抢到最多的钱总数
}
int dp(int[] nums,int start){
// start就对应题目数组的索引;
// base case ,即start超过最后一间房子后,抢到的为0
if(start>=nums.length){
return 0;
}
// 重叠子问题
if(memo[start]!=-1){
return memo[start];
}
// 状态转移(选择):不抢 or 抢
memo[start]=Math.max( dp(nums,start+1) , dp(nums,start+2)+nums[start] );
return memo[start];
}
}
边栏推荐
猜你喜欢
CDH6.3.2之Kerberos安全认证_大数据培训
Pytorch GPU模型推理时间探讨
WebRTC source code analysis nack detailed explanation
训练一个神经网络要多久,神经网络训练时间过长
机器人控制器编程实践指导书旧版-实践四 步进电机(执行器)
Product Description丨MobPush fast integration method on Android side
Making Pre-trained Language Models Better Few-Shot Learners
【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(上)
MogDB学习笔记-从2开始(MogHA)
Pytorch GPU模型推理时间探讨2——显卡warm up
随机推荐
同一块中出现两个 * 就不能正常显示
R语言使用ggpubr包的ggbarplot函数可视化柱状图、设置add参数为mean_se和jitter可视化不同水平均值的柱状图并为柱状图添加误差线(se标准误差)和抖动数据点分布
一颗完整意义的LPWAN SOC无线通信芯片——ASR6601
百日刷题挑战--错题01day
redis分布式锁
文件包含漏洞复习总结
如何学习性能测试?
ARM开发(三)ARM寻址方式,异常中断,异常向量表
「企业架构」企业架构师,解决方案架构师和软件架构师有何不同
初始网络原理
DGIOT平台实时展示OPC上报数据全流程代码剖析
Mysql索引、事务与存储引擎
pip安装时 fatal error C1083 无法打开包括文件 “io.h” No such file or directory
分类常用的神经网络模型,深度神经网络主要模型
JNDI与RMI、LDAP
直播回顾|多云时代,如何建设企业级云管理平台?(附建设指南下载)
Product Description丨MobPush fast integration method on Android side
等保2.0一个中心三重防护指的是什么?如何理解?
AVFrame相关api内存管理
R语言ggplot2可视化:使用ggpubr包的ggscatter函数可视化分组散点图、stat_mean函数在分组数据点外侧绘制凸包并突出显示分组均值点、自定会均值点的大小以及透明度