背包问题(理论)

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

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

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

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

背包问题(理论)_第1张图片

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

01 背包

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

背包问题(理论)_第2张图片

举一个例子:

背包最大重量为4。

物品为:

背包问题(理论)_第3张图片

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

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

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

代码随想录 (programmercarl.com)

代码随想录 (programmercarl.com)

你可能感兴趣的:(#,9.动态规划,算法)