将你给出的动态规划代码更改为JS代码编写
时间: 2024-05-07 18:21:22 浏览: 50
好的,我来为你将动态规划代码改为 JavaScript 代码:
```javascript
function knapsack(capacity, weights, values, n) {
let i, w;
let K = [];
for (i = 0; i <= n; i++) {
K[i] = [];
for (w = 0; w <= capacity; w++) {
if (i == 0 || w == 0) {
K[i][w] = 0;
} else if (weights[i - 1] <= w) {
K[i][w] = Math.max(values[i - 1] + K[i - 1][w - weights[i - 1]], K[i - 1][w]);
} else {
K[i][w] = K[i - 1][w];
}
}
}
return K[n][capacity];
}
```
这段代码实现了 0-1 背包问题的动态规划解法。函数参数说明如下:
- `capacity`:背包的容量;
- `weights`:物品的重量数组;
- `values`:物品的价值数组;
- `n`:物品的数量。
函数返回值为最大价值。
阅读全文