Skip to content

Commit aad1473

Browse files

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

NUPfPr/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import canPartition from "../partition-equal-subset-sum/index.ts";
2+
3+
export default canPartition;

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ Step 2. Add the dependency
4545

4646
<summary>展开查看</summary>
4747

48+
https://leetcode.cn/problems/partition-equal-subset-sum/
49+
50+
https://leetcode.cn/problems/NUPfPr/
51+
4852
https://leetcode.cn/problems/number-of-matching-subsequences
4953

5054
https://leetcode.cn/problems/is-subsequence/

partition-equal-subset-sum/index.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export default function canPartition(nums: number[]): boolean {
2+
const sum: number = nums.reduce((pre, cur) => pre + cur);
3+
if (sum % 2 === 1) return false;
4+
const bagSize: number = sum / 2;
5+
const goodsNum: number = nums.length;
6+
const dp: number[] = new Array(bagSize + 1).fill(0);
7+
for (let i = 0; i < goodsNum; i++) {
8+
for (let j = bagSize; j >= nums[i]; j--) {
9+
dp[j] = Math.max(dp[j], dp[j - nums[i]] + nums[i]);
10+
}
11+
}
12+
return dp[bagSize] === bagSize;
13+
}

0 commit comments

Comments
 (0)