416. Partition Equal Subset Sum
2016-11-03 19:37
471 查看
Given a non-empty array containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal.
Note:
Each of the array element will not exceed 100.
The array size will not exceed 200.
Example 1:
Example 2:
这是一道很典型的dp问题,我的做法是先求得所给数组的和,然后将和除一半,就变成了背包问题,然后直接dp求解。代码如下:
Note:
Each of the array element will not exceed 100.
The array size will not exceed 200.
Example 1:
Input: [1, 5, 11, 5] Output: true Explanation: The array can be partitioned as [1, 5, 5] and [11].
Example 2:
Input: [1, 2, 3, 5] Output: false Explanation: The array cannot be partitioned into equal sum subsets.
这是一道很典型的dp问题,我的做法是先求得所给数组的和,然后将和除一半,就变成了背包问题,然后直接dp求解。代码如下:
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==1) return 0; sum/=2; bool *get = new bool [sum+1]; get[0]=1; for(int i=1;i<=sum;i++) get[i]=0; for(int i=0;i<nums.size();i++) for(int j=sum;j>=nums[i];j--) get[j] = get[j-nums[i]] ? 1:get[j]; return get[sum]; } };
相关文章推荐
- leetcode-416-Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 【Leetcode】416-Partition Equal Subset Sum -- javascript解法 01背包问题
- LeetCode - 416 - Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 算法分析与设计第十一周:416. Partition Equal Subset Sum
- leetcode 416 Partition Equal Subset Sum 对半分
- [Leetcode] #416 Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- [LeetCode] 416 Partition Equal Subset Sum
- 416. Partition Equal Subset Sum