背包问题(理论)

本文强调在技术面试中,理解和掌握01背包和完全背包算法是关键,它们是背包问题的基础。LeetCode上的问题多涉及这些概念的实际应用。完全背包是01背包的扩展,允许无限数量的物品。阅读算法并实践有助于准备面试。
摘要由CSDN通过智能技术生成

对于面试的话,掌握01背包、完全背包,就够用了,最多可以再来一个多重背包

至于背包九讲其他背包,面试几乎不会问,都是竞赛级别的了,leetcode上连多重背包的题目都没有,所以题库也告诉我们,01背包和完全背包就够用了。

而完全背包又是也是01背包稍作变化而来,即:完全背包的物品数量是无限的。

所以背包问题的理论基础重中之重是01背包,一定要理解透!

leetcode上没有纯01背包的问题,都是01背包应用方面的题目,也就是需要转化为01背包问题。

01 背包

有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。

举一个例子:

背包最大重量为4。

物品为:

问背包能背的物品最大价值是多少?

以下讲解和图示中出现的数字都是以这个例子为例。

没有做卡码网的题,直接看算法,刷题再刷后面的力扣。

代码随想录 (programmercarl.com)

代码随想录 (programmercarl.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值