leetcode 416 c++. Partition Equal Subset Sum
2016-12-12 11:42
441 查看
解题思路:
找到两个和相等的子序列,那么它们全部的和sum, aim=sum/2即为每一个子序列的和,如果sum为奇数,那么就直接输出false,由于每个数只能使用一次,这样就转化为一个0-1背包问题,背包容量为aimclass Solution { public: bool canPartition(vector<int>& nums) { int sum; sum=accumulate(nums.begin(), nums.end(), 0); if(sum%2==1)return false; int aim=sum/2; vector<bool> dp(aim+1,false); dp[0]=true; int i,j; for(i=0;i<nums.size();i++){ for(j=aim;nums[i]<=j;j--){ dp[j]=dp[j]||dp[j-nums[i]]; } } return dp[aim]; } };
相关文章推荐
- LeetCode - 416 - Partition Equal Subset Sum
- [Leetcode] #416 Partition Equal Subset Sum
- leetcode(416). Partition Equal Subset Sum
- leetcode-416-Partition Equal Subset Sum
- leetcode 416 Partition Equal Subset Sum 对半分
- LeetCode[416] Partition Equal Subset Sum
- [LeetCode416]Partition Equal Subset Sum
- [LeetCode] 416 Partition Equal Subset Sum
- 【Leetcode】416-Partition Equal Subset Sum -- javascript解法 01背包问题
- 416. Partition Equal Subset Sum
- LeetCode #416: Partition Equal Subset Sum
- leetcode解题之416#Partition Equal Subset SumJava版. 对半分(0-1背包,动态规划)
- Partition Equal Subset Sum - leetcode 416号题目个人题解
- leetCode No.416 Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- LeetCode: Partition Equal Subset Sum
- 416. Partition Equal Subset Sum(第十六周)
- [LeetCode] Partition Equal Subset Sum划分数组形成两个和相等的子集
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum