点击打开链接
class Solution {
public:
bool canPartition(vector<int>& nums) {
int sum =0;
for(int i=0; i<nums.size(); i++){
sum += nums[i];
}
if(sum%2 !=0) return 0;
int target = sum/2;
vector<int> count_of_sum(sum+1, 0);
count_of_sum[0] =1;
for(int i=0; i<nums.size(); i++){
int add = nums[i];
for(int j = sum; j>=add; j--){
count_of_sum[j] += count_of_sum[j-add];// DP
}
}
return count_of_sum[target];
}
};