【LeetCode】416. Partition Equal Subset Sum
来源:互联网 发布:淘宝如何做一件代发 编辑:程序博客网 时间:2024/05/01 06:13
Difficulty: Medium
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:
Input: [1, 5, 11, 5]Output: trueExplanation: The array can be partitioned as [1, 5, 5] and [11].
Example 2:
Input: [1, 2, 3, 5]Output: falseExplanation: The array cannot be partitioned into equal sum subsets.
思路分析:
动态规划算法,f[i][j]表示前i个数能否取出和为j的方案
状态转移方程 f[i][j]=f[i-1][j] || f[i-1][ j-nums[i] ];
如果j从sum到nums[i]递减遍历,那么状态转移方程简写为 f[j]=f[j] || f[ j-nums[i] ];
时间复杂度为O(n*sum),sum为nums[i]所有元素之和
class Solution {public: bool canPartition(vector<int>& nums) {bool f[10005];int sum,n;n=nums.size();sum=0;for(int i=0;i<n;i++){sum+=nums[i];}if(sum%2) return false;sum=sum/2;for(int i=1;i<=sum;i++)f[i]=false;f[0]=true;for(int i=0;i<n;i++)for(int j=sum;j>=nums[i];j--)f[j] = f[j] || f[j-nums[i] ];return f[sum];}};
0 0
- 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
- LeetCode 416. Partition Equal Subset Sum
- 【LeetCode】416. Partition Equal Subset Sum
- Leetcode 416. Partition Equal Subset Sum[medium]
- [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
- LeetCode 416. Partition Equal Subset Sum
- Leetcode Algorithm 416. Partition Equal Subset Sum
- LeetCode 416. Partition Equal Subset Sum
- Charles 破解版安装图解
- Hadoop时代的大数据架构
- eclipse版本对应的jdk需求
- 第一讲 了解网页
- 161101
- 【LeetCode】416. Partition Equal Subset Sum
- Android APK
- window.print()打印网页中指定内容的实现方法
- 序列化与反序列化
- Ubuntu下查看磁盘空间大小
- Android:控件WebView显示网页
- 去掉字符串中首次连续出现k个0的子串。
- SDUT 3347 数据结构实验之数组三:快速转置
- Codeforce 490E(树形dp)