LeetCode 416 分割等和子集

题目链接

给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

注意:

每个数组中的元素不会超过 100
数组的大小不会超过 200

示例 1:

输入: [1, 5, 11, 5]输出: true

解释: 数组可以分割成 [1, 5, 5] 和 [11].

示例 2:

输入: [1, 2, 3, 5]输出: false

解释: 数组不能分割成两个元素和相等的子集.

典型的背包问题~
首先和为奇数时肯定不能平均分,对和为偶数的情况就进行 010101 背包,看最大值能否等于 sum2\frac{sum}{2}2sum​ 即可,AC代码如下:

class Solution {public:bool canPartition(vector<int>& nums) {int sum=0;for(auto i:nums) sum+=i;if(sum%2) return 0;int dp[sum+1],ans=0;memset(dp,0,sizeof(dp));for(int i=0;i<nums.size();i++){for(int j=sum/2;j>=nums[i];j--){dp[j]=max(dp[j],dp[j-nums[i]]+nums[i]);ans=max(ans,dp[j]);}}return (ans==sum/2);}
};

LeetCode 416 分割等和子集相关推荐

  1. leetcode - 416. 分割等和子集

    416. 分割等和子集 -------------------------------------------- 给定一个只包含正整数的非空数组.是否可以将这个数组分割成两个子集,使得两个子集的元素和 ...

  2. LeetCode 416. 分割等和子集 【c++/java详细题解】

    来自专栏<LeetCode高频面试题> 欢迎订阅 目录 1.题目 2.思路 3.二维c++代码 4.二维java代码 5.一维优化 6.一维c++代码 7.一维java代码 1.题目 给你 ...

  3. Java实现 LeetCode 416 分割等和子集

    416. 分割等和子集 给定一个只包含正整数的非空数组.是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: ...

  4. [动态规划] leetcode 416. 分割等和子集

    问题描述:    分割等和子集:给你一个只包含正整数的非空数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等.   例子:输入nums = {1, 5, 11 , 5 ...

  5. leetcode 416. 分割等和子集

    分割等和子集题解集合 DFS 记忆化搜索 记忆化搜索的另一种写法 动态规划 「滚动数组」解法 「一维空间优化」解法 DFS 思路 题意就是:给你一个非空数组,和为sum,你能否找到一个子序列,和为su ...

  6. LeetCode 416. 分割等和子集(动态规划)

    1. 题目 给定一个只包含正整数的非空数组. 是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [ ...

  7. LeetCode 416. 分割等和子集(动态规划)(0-1背包)

    题目描述 给定一个只包含正整数的非空数组.是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, ...

  8. LeetCode #416 分割等和子集

    题目: 给你一个 只包含正整数 的 非空 数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 示例 1: 输入:nums = [1,5,11,5] 输出:true ...

  9. LeetCode | 416.分割等和子集

    给你一个 只包含正整数 的 非空 数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 示例 1:输入:nums = [1,5,11,5] 输出:true 解释:数组 ...

最新文章

  1. 注册ETM钱包瓜分糖果 更有机会独享8888元现金奖励
  2. 涨跌因子计算器下载哪里下载_网易超级计算器appv1-网易超级计算器v1下载
  3. springboot图书管理怎么实现借书时间到期提醒_今日图书丨有了这个,图书管理再也没烦恼!...
  4. ceph 存储 对比_分布式存储系统 Curve
  5. java JNI调用C语言动态链接库(java.lang.UnsatisfiedLinkError: no yourClassName in java.library.path 异常的解决方法)
  6. [\u4e00-\u9fa5] //匹配中文字符
  7. 25+ 个 jQuery 网页拖放操作的插件
  8. 剑三哪些插件是必备的_日常学习、办公必备的浏览器插件丨附安装教程(三)...
  9. 前端响应式布局与Bootstrap栅格系统快速了解与应用
  10. Java 程序员必须掌握的 4 大开源框架!
  11. 上海计算机二级vb题目,上海计算机二级VB试题(卷).doc
  12. java毕向东学习笔记——day01
  13. Vue3+Vite快速搭建vue项目
  14. 完全理解android事件分发机制
  15. 打印机form2尺寸_windows7中如何设置打印机纸张大小 以241-2纸张为例
  16. wmp 11安装方法
  17. Day507508509510.图灵学院之面试题② -面经
  18. 哔哩哔哩(B站)品牌投放,优质潜力up主如何找?
  19. 北大数学天才出家12年后还俗引热议,当年放弃MIT全奖,如今主动降薪1万
  20. 体育测试成绩用什么软件制表,如何用电子表格进行体育成绩的统计.docx

热门文章

  1. 模糊数学学习笔记 6:模糊综合评判
  2. android联系人的简易通讯录
  3. ETA ESX10-TD-101-DC24V-2/4/6A
  4. 省赛选拔-A 警察抓小偷
  5. 爬虫Scrapy安装笔记
  6. Android 9/10 Launcher3 适配出现的问题修改
  7. 遇到同事求助时需要帮助的3件事情,别说你不知道
  8. C语言新手常犯的错误-截断
  9. Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;
  10. Google 各国地址