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

注意:

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

示例 1:

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

示例 2:

输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.

class Solution {
public:
    bool canPartition(vector<int>& nums) {
        int sum = accumulate(nums.begin(), nums.end(), 0), target = sum >> 1;
        if (sum & 1) return false;
        vector<bool> dp(target + 1, false);
        dp[0] = true;
        for (int num : nums) {
            for (int i = target; i >= num; --i) {
                dp[i] = dp[i] || dp[i - num];
            }
        }
        return dp[target];
    }
};

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

  1. LeetCode-动态规划背包题-416. 分割等和子集

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

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

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

  3. 416. 分割等和子集

    0-1背包问题:https://blog.csdn.net/qq_40794973/article/details/102701052 416. 分割等和子集 https://leetcode-cn. ...

  4. Suzy心情很差因为被charge了late fee Day42 | 动态规划之背包问题,416. 分割等和子集

    背包问题 01背包 Given n种物品,每种物品只有1个 每个物品有自己的重量.价值. 背包最大能装载的重量 动规五部曲--用二维数组 定义dp数组的含义:dp[ i ][ j ]表示[0,i]物品 ...

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

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

  6. LeetCode 416 分割等和子集

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

  7. 【Leetcode刷题】:Python:416. 分割等和子集

    题目 416. 分割等和子集 代码:dp class Solution:def canPartition(self, nums: List[int]) -> bool:n = len(nums) ...

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

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

  9. [416]. 分割等和子集

    [416]. 分割等和子集 题目 算法设计:动态规划 题目 题目:[416]. 分割等和子集 给你一个只包含正整数的非空数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和 ...

  10. day41 | 416. 分割等和子集

    01 背包问题 定义dp数组 dp[i][j]:i 表示 0 - i 之间的物品,任取,放进容量 为 j 的背包里 的最大价值 递推公式: dp[i][j] 由两个方向推出来,即放当前的物品i,与不放 ...

最新文章

  1. Fedora 31 没被砍掉,或将在2020年11月底发布
  2. 采用三层架构(JAVA)设计学生管理系统
  3. Py之playsound:playsound的简介、安装、使用方法之详细攻略
  4. 安装Microsoft Hololens开发环境
  5. 在Android命令行启动程序的方法
  6. java空格 逗号_Java将字符串中的空格换为逗号
  7. js常用内建对象之:String对象
  8. 拓端tecdat|R语言离群值处理分析
  9. 精通git中文版 (连载四)
  10. python特性有什么_举例介绍Python中的25个隐藏特性
  11. HttpUtil 工具类
  12. 淘宝/天猫获得淘宝商品类目 API 返回值说明
  13. Apache自带的ab压力测试工具
  14. python删除停用词_删除停用词
  15. 虚拟机磁盘映射报错,无法向虚拟机导入文件
  16. flash activex java_Adobe Flash player ActiveX下载地址
  17. 项目沟通管理 试题分析
  18. 自制简单的诗歌搜索系统
  19. 链路追踪Zipkin
  20. 共读四步法:看见正向核心的力量—欣赏式探询共读会

热门文章

  1. css3伸缩布局(附实例、图解)
  2. ORACLE 10G R1手工创建数据库步骤
  3. ARM9 S3C2440 定时器中断
  4. 研磨设计模式学习笔记1--简单工厂(SimpleFactory)
  5. Python与模块--01sys
  6. [NOI2016]优秀的拆分
  7. 提升研发团队战斗力的方法
  8. find命令使用及实例
  9. 在.net中使用鼠标手势的讲述
  10. oracle 平均值 最大值,Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT