LC 416. Partition Equal Subset Sum
题目
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: 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.
参考答案
 class Solution {
 public:
     bool canPartition(vector<int>& nums) {
         int sum = accumulate(nums.begin(),nums.end(),); //首先对数组求和
         if( sum &  ){ // 如果数组是个奇数,那么不成立,因为例如: 5 = 2+3
             return false;
         }
         int half = sum / ;
         std::sort(nums.begin(),nums.end(),std::greater<int>()); // 一定要加,否则time limit exceeded
         return foo(nums,half,); // 将 half 作为输入
     }
     bool foo(vector<int>& nums, int half, int index){
         for(int i = index ; i <nums.size() ; i++){ // 对于每一个数进行迭代
             int h = half - nums[i]; // 对 half 扣除
             if(h<) return false;
             if(h==) return true;
             // 如果上述条件都不满足,说明nums[i] 没办法满足条件,那么需要继续找下一个数,
20        // 即index = i+1。满足即true,不满足就退回到上层,在这一层找下一个数。
             if(foo(nums,h,i+) == true) return true;
         }
         return false;
     }
 };
LC 416. Partition Equal Subset Sum的更多相关文章
- LN : leetcode 416 Partition Equal Subset Sum
		lc 416 Partition Equal Subset Sum 416 Partition Equal Subset Sum Given a non-empty array containing ... 
- [LeetCode] 416. Partition Equal Subset Sum 相同子集和分割
		Given a non-empty array containing only positive integers, find if the array can be partitioned into ... 
- Leetcode 416. Partition Equal Subset Sum
		Given a non-empty array containing only positive integers, find if the array can be partitioned into ... 
- [leetcode]416. Partition Equal Subset Sum分割数组的和相同子集
		Given a non-empty array containing only positive integers, find if the array can be partitioned into ... 
- 416. Partition Equal Subset Sum
		题目: Given a non-empty array containing only positive integers, find if the array can be partitioned ... 
- 【LeetCode】416. Partition Equal Subset Sum 解题报告(Python & C++)
		作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 动态规划 日期 题目地址:https://l ... 
- 416 Partition Equal Subset Sum 分割相同子集和
		详见:https://leetcode.com/problems/partition-equal-subset-sum/description/ C++: class Solution { publi ... 
- 【leetcode】416. Partition Equal Subset Sum
		题目如下: 解题思路:对于这种判断是否的题目,首先看看动态规划能不能解决.本题可以看成是从nums中任选i个元素,判断其和是否为sum(nums)/2,很显然从nums中任选i个元素的和的取值范围是[ ... 
- [刷题] 416 Partition Equal Subset Sum
		要求 非空数组的所有数字都是正整数,是否可以将这个数组的元素分成两部分,使得每部分的数字和相等 最多200个数字,每个数字最大为100 示例 [1,5,11,5],返回 true [1,2,3,5], ... 
随机推荐
- element-ui遮罩层el-dialog的使用
			template <el-button type="text" @click="dialogVisible = true">点击打开 Dialog& ... 
- SQL SERVER可重复执行建表、建字段语句
			/*问题:type in (N'U') 中的N和U是什么意思? 答案:N是指Unicode编码,防止乱码:U是指用户表*/IF NOT EXISTS (SELECT * FROM sys.object ... 
- c++ 实现等待5s
			#include <stdio.h> /* puts, printf */ #include <time.h> /* time_t, struct tm, time, loca ... 
- JavaWeb_(SpringMVC框架)SpringMVC入门
			Spring MVC又叫SpringWebMVC是一个轻量级的基于请求响应的表现层框架.它是Spring框架的一部分.SpringMVC与Struts2都可以替代原始Servlet技术. Spring ... 
- HDU 1257 最少拦截系统  ——(LIS)
			想了一下感觉和lis有关,交了果然AC.想不到很好的证明方法,试做证明如下:lis的每一个点都是一个不上升系统中的一员,设其为a[i],那么a[i-1]<a[i]肯定是成立的(lis的性质),夹 ... 
- 用tecplot提取数据用于重构模型
			本方法还有诸多不完善的地方,转换代码转换格式之后还是需要自己手动分割txt文件,如果数据量太大,手动操作很是辛苦.现在只能得到点的数据,如何重构几何还是问题,UG貌似可以,欢迎交流. 首先在tecpl ... 
- ASP.NET的MVC设计模式
			当开发者听到“设计模式”这个词时,他们通常联想到两个场景.一组开发者正在讨论许多创造性意见,正在开会,但是却没有进行编码.另外一组人能制定出正确的计划,保证系统能够开发成功,代码可以重用. 而现实一般 ... 
- Python 今天抽空学习了@Property
			1.@Property有啥用 1) @property使方法像属性一样调用 @property可以把一个实例方法变成其同名属性,以支持.号访问,它亦可标记设置限制,加以规范 2) @property成 ... 
- windows下xampp安装rabbitmq的PHP扩展AMQP
			windows上使用的php扩展为dll文件,首先去下载dll文件,可以到 https://pecl.php.net/package/amqp 选择对应的版本下载 下载压缩包解压后,把里面的两个dll ... 
- 使用.NET Framework开发IIS 7.0模块和处理程序拦截请求实现跳转
			扩展IIS的两种方法:模块与处理程序. 模块,类似于以前的IIS版本中的ISAPI筛选器,它参与每个请求处理.IIS中一些现成的模块包括身份验证模块(用于处理请求的身份验证状态),压缩模块(用于压缩返 ... 
