mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 11:34:46 +08:00
0-1背包javascript版本
This commit is contained in:
@ -380,6 +380,52 @@ func main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
javaScript:
|
||||||
|
|
||||||
|
```js
|
||||||
|
function testWeightBagProblem (wight, value, size) {
|
||||||
|
const len = wight.length,
|
||||||
|
dp = Array.from({length: len + 1}).map(
|
||||||
|
() => Array(size + 1).fill(0)
|
||||||
|
);
|
||||||
|
|
||||||
|
for(let i = 1; i <= len; i++) {
|
||||||
|
for(let j = 0; j <= size; j++) {
|
||||||
|
if(wight[i - 1] <= j) {
|
||||||
|
dp[i][j] = Math.max(
|
||||||
|
dp[i - 1][j],
|
||||||
|
value[i - 1] + dp[i - 1][j - wight[i - 1]]
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
dp[i][j] = dp[i - 1][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// console.table(dp);
|
||||||
|
|
||||||
|
return dp[len][size];
|
||||||
|
}
|
||||||
|
|
||||||
|
function testWeightBagProblem2 (wight, value, size) {
|
||||||
|
const len = wight.length,
|
||||||
|
dp = Array(size + 1).fill(0);
|
||||||
|
for(let i = 1; i <= len; i++) {
|
||||||
|
for(let j = size; j >= wight[i - 1]; j--) {
|
||||||
|
dp[j] = Math.max(dp[j], value[i - 1] + dp[j - wight[i - 1]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dp[size];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function test () {
|
||||||
|
console.log(testWeightBagProblem([1, 3, 4, 5], [15, 20, 30, 55], 6));
|
||||||
|
}
|
||||||
|
|
||||||
|
test();
|
||||||
|
```
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
|
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
|
||||||
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
|
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
|
||||||
|
@ -294,6 +294,29 @@ func main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
javaScript:
|
||||||
|
|
||||||
|
```js
|
||||||
|
|
||||||
|
function testWeightBagProblem(wight, value, size) {
|
||||||
|
const len = wight.length,
|
||||||
|
dp = Array(size + 1).fill(0);
|
||||||
|
for(let i = 1; i <= len; i++) {
|
||||||
|
for(let j = size; j >= wight[i - 1]; j--) {
|
||||||
|
dp[j] = Math.max(dp[j], value[i - 1] + dp[j - wight[i - 1]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dp[size];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function test () {
|
||||||
|
console.log(testWeightBagProblem([1, 3, 4, 5], [15, 20, 30, 55], 6));
|
||||||
|
}
|
||||||
|
|
||||||
|
test();
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
|
Reference in New Issue
Block a user