点击打开链接
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]; } };