Skip to content

Commit 531c097

Browse files
Create Partition Equal Subset Sum.cpp
1 parent d2a711e commit 531c097

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//https://leetcode.com/problems/partition-equal-subset-sum/description/
2+
3+
class Solution {
4+
public:
5+
bool canPartition(vector<int>& nums) {
6+
int sum = accumulate(nums.begin(), nums.end(), 0);
7+
vector<bool> dp(sum + 1, 0);
8+
if (sum&1) return false;
9+
dp[sum/2] = true;
10+
for (int i = 1; i < nums.size(); i++){
11+
for (int currsum = sum; currsum >= sum/2; currsum--){
12+
bool notTake = dp[currsum];
13+
bool take = false;
14+
if (currsum >= nums[i]) take = dp[currsum - nums[i]];
15+
dp[currsum] = notTake || take;
16+
}
17+
}
18+
return dp[sum];
19+
}
20+
};

0 commit comments

Comments
 (0)