面试算法题. 完全背包问题. 解析复习

动态规划 + 滚动数组。

公式推岛:

面试算法题. 完全背包问题. 解析复习_第1张图片

代码:

// 完全背包问题
int completeBackpack(vector> goods, int w) {

	vector dp(w + 1, 0);

	for (int i = 0; i < goods.size(); i++) {

		int m = goods[i][0];
		int v = goods[i][1];

		for (int j = m; j <= w; j++) {
			dp[j] = max(dp[j - m] + v, dp[j]);
		}
	}
	return dp[w];
}

认真体会!

你可能感兴趣的:(【leetcode刷题】,【算法】)