思路
在 01 背包的基础上,加入了每个背包最多使用的次数
w[i] 表示物品
nums[i] 表示最多个数
v[i] 表示价值
W 表示背包最大容量
for i = 0 to w.size-1
for j = W to 0 j--
for(k = 1 to nums[i] && k * w[i] <= j)
dp[j] = max(dp[j], dp[j- k * w[i]] + k * v[i])
1
2
3
4
参考链接
https://leetcode-cn.com/circle/article/2ZcRi7/