Partition Equal Subset Sum问题及解法
来源:互联网 发布:spss构建数据库 编辑:程序博客网 时间:2024/06/09 16:37
问题描述:
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.
示例:
Input: [1, 5, 11, 5]Output: trueExplanation: The array can be partitioned as [1, 5, 5] and [11].
Input: [1, 2, 3, 5]Output: falseExplanation: The array cannot be partitioned into equal sum subsets.
问题分析:
此类问题类似于在数组中查找子序列和为target的题目,很典型的一种动态规划问题。
过程详见代码:
class Solution {public: bool canPartition(vector<int>& nums) {if (nums.size() < 2) return false;int sum = accumulate(nums.begin(), nums.end(), 0);if (sum % 2) return false;vector<bool> dp(sum / 2 + 1, 0);dp[0] = true;int target = sum / 2;for (auto num : nums){for (int i = target; i > 0; i--){if (i >= num){dp[i] = dp[i] || dp[i - num];}}}return dp[target];}};
阅读全文
0 0
- Partition Equal Subset Sum问题及解法
- Partition Equal Subset Sum
- Partition Equal Subset Sum
- Partition Equal Subset Sum
- Partition Equal Subset Sum
- Partition Equal Subset Sum
- Partition Equal Subset Sum
- Partition to K Equal Sum Subsets问题及解法
- 【Leetcode】416-Partition Equal Subset Sum -- javascript解法 01背包问题
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- [LeetCode416]Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- 416. Partition Equal Subset Sum
- LeetCode: Partition Equal Subset Sum
- [Medium]Partition Equal Subset Sum
- 使用字节流复制文件过程中容易导致复制的文件无法使用(如MP3文件比原来大了一千多倍且音乐无法播放)很严重的一个bug
- IFE-TASK11(任务十一:移动Web页面布局实践)
- 菜鸟先飞之JAVA_反射
- OpengGL
- java多线程中死锁实例
- Partition Equal Subset Sum问题及解法
- Matlab GUI图形化界面,坐标
- JavaScript中判断对象类型的几种方法总结
- 观光旅游
- AMD与CMD标准的区别
- 快速排序 快速搞定
- jdk环境配置
- Toggle_Back 返回主菜单的按钮控制
- java匿名类序列化问题