Skip to content

Commit af5015d

Browse files
authored
Create 416-partition-equal-subset-sum.js
1 parent 6657bb3 commit af5015d

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

416-partition-equal-subset-sum.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {boolean}
4+
*/
5+
const canPartition = function(nums) {
6+
let sum = 0
7+
for(let num of nums) {
8+
sum += num
9+
}
10+
11+
if(sum & 1 === 1) {
12+
return false
13+
}
14+
15+
sum /= 2
16+
let n = nums.length
17+
const dp = Array.from(new Array(n+1), () => [])
18+
for(let i = 0; i < dp.length; i++) {
19+
dp[i] = new Array(sum+1).fill(false)
20+
}
21+
dp[0][0] = true
22+
for(let i = 1; i < n + 1; i++) {
23+
dp[i][0] = true
24+
}
25+
for(let j = 1; j < sum + 1; j++) {
26+
dp[0][j] = false
27+
}
28+
for(let i = 1; i < n + 1; i++) {
29+
for(let j = 1; j < sum + 1; j++) {
30+
if(j >= nums[i - 1]) {
31+
dp[i][j] = (dp[i -1][j] || dp[i - 1][j - nums[i - 1]])
32+
}
33+
}
34+
}
35+
return dp[n][sum]
36+
};

0 commit comments

Comments
 (0)