我试图实现一个算法来解决Knapsack problem:
cst = 1;
for (j = 0; j < 200; j++) {
if (kk - cst < 0) {
continue;
cst++;
}
for (i = kk - cst; i >= 0; --i) {
C[i + cst] = max(C[i + cst], C[i] + index[cst]);
}
cst++;
}
index
数组具有由数组索引表示的各个项的值。我想知道我错在哪里。 最佳答案
在你的代码中
if(kk-cst < 0)
{
continue;
cst++;
}
是错误的。永远不会执行
cst++
请检查并相应地更改逻辑。关于c - 我如何实现背包算法,其中数组的索引表示项目的重量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31344609/