2023-09-16力扣每日一题-经典DP

链接:

198. 打家劫舍

题意

有n个数字,不能选取相邻的数字,求最终选取的最大

经典DP,由于每个数字有拿与不拿两种状态,所以DP[I]刚好使用一个max

拿,则DP[I-1]不能拿,为DP[I-2]+nums[i]

不拿,则DP[i-1]可以拿,为DP[i-1]

两者取max

实际代码:

c++ 复制代码
#include<bits/stdc++.h>
using namespace std;
int rob(vector<int>& nums)
{
	int lg=nums.size();
	if(lg==1) return nums[0];

	vector<int>dp(lg);
	dp[0]=nums[0];dp[1]=max(nums[0],nums[1]);

 	for(int i=2;i<lg;i++)
	{
  		dp[i]=max(dp[i-1],dp[i-2]+nums[i]);
	}
	
 	return dp[lg-1];
}

限制:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 400
相关推荐
小江的记录本7 分钟前
【JVM虚拟机】垃圾回收GC:垃圾判定算法:引用计数法、可达性分析算法(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·spring·面试
Hello.Reader15 分钟前
算法基础(十四)—— 随机化快速排序为什么平均表现很好
算法
吴可可12316 分钟前
Teigha中OdGe几何库详解及C#使用
算法
爱喝水的鱼丶28 分钟前
SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第六篇:ABAP 7.40+新特性:声明语法的简化写法与兼容注意事项
运维·服务器·开发语言·学习·算法·sap·abap
国科安芯1 小时前
AS32S601商业航天级抗辐照MCU芯片:架构设计与技术特性研究
单片机·嵌入式硬件·算法·安全·架构·risc-v
菜菜的顾清寒1 小时前
力扣HOT100(34)图论-岛屿数量
算法·leetcode·图论
圣保罗的大教堂1 小时前
leetcode 2657. 找到两个数组的前缀公共数组 中等
leetcode
名字不好奇1 小时前
大模型的思考模式:它真的在“想“吗?
人工智能·算法
Run_Teenage1 小时前
算法模板:输入输出,并查集
java·开发语言·算法
高一学习c++会秃头吗2 小时前
操作系统内存块分配算法
算法