代码随想录算法训练营第42天| ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

2023-12-19

416. 分割等和子集

已解答
中等
相关标签
相关企业
给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

示例 1:
输入:nums = [1,5,11,5]
输出:true
解释:数组可以分割成 [1, 5, 5] 和 [11] 。
示例 2:
输入:nums = [1,2,3,5]
输出:false
解释:数组不能分割成两个元素和相等的子集。

提示:

  • 1 <= nums.length <= 200
  • 1 <= nums[i] <= 100

代码

package __dp

func canPartition(nums []int) bool {
   /*
      计算总和
      背包一半bag[n-1][sum/2]
   */
   n := len(nums)
   sum := 0
   for i := 0; i < n; i++ {
      sum += nums[i]//计算总和
   }
   if sum%2 == 1 {
      return false
   }
   sum /= 2
   bag := make([]int, sum+1)
   for i := 0; i < n; i++ {//填背包
      for j := sum; j >= nums[i]; j-- {
         bag[j] = max(bag[j], bag[j-nums[i]]+nums[i])
      }
   }
   if bag[sum] == sum {
      return true
   }
   return false
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代码随想录算法训练营第42天| ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集 的相关文章

随机推荐

  • Linux中ll -h和du -h 查看的文件大小,同一个文件du -h的结果大很多

    当使用 ll h 和 du h 查看同一个文件的大小时 可能会看到两者的结果不同 这是因为它们 计算文件大小的方式有所不同 ll h 的结果 ll h 或其完整形式 ls lh 会显示文件的大小 但这个大小可能只是文件内容的实际大小 并不包
  • 使用AI大模型给黑白照片上色

    在线体验 点击 图像处理 即可使用 private static final String COLOURIZE URL https aip baidubce com rest 2 0 image process v1 colourize p
  • 【Linux基础】2. Linux系统目录结构

    文章目录 ls 命令查看Linux系统目录 目录名称 作用 bin binaries二进制文件 是系统预设的执行文件的放置目录 这个目录存放着最经常使用的命令 boot boot 启动 这里存放的是启动 Linux 时使用的一些核心文件 包
  • python基础语法总结

    基础是深入必不可少的 如果没有基础的支持 后面都是浮云 就像情侣之间 没有感情基础是不会有好结果的 物资基础是靠两个人打拼的 所以学习就像谈恋爱 两个人要学会沟通 才能修成正果 一句话就是有话可说 目录概览 字面量 注释 变量 数据类型
  • Java爬虫采集房源信息解决朋友店铺选址难题

    昨天我帮朋友选择了适合的开店种类 今天同样的 利用爬虫技术采集店铺房源信息 为朋友店铺开店选址提供一份建议 数据筛查只是作为信息整理的一部分 重要的还是要看地点人流量还需要实地考察才行 我的数据只是做参考 废话不多说 连夜码出下列代码 以下
  • 专业、好用的跨网文件摆渡产品,需要具备哪些功能特性?

    为了确保内部核心资产的安全性 很多企业和机构都会选择将网络进行隔离划分 比如内外网隔离 办公网 研发网隔离等 但网络隔离后 在日常工作中 仍存在用户需求把文件数据从内网到外网 从办公网到研发网终端的文件摆渡业务需求 很多企业都会使用一些传输
  • 【XR806开发板试用】基于FreeRtos的XR806 WLAN测试

    作为一名在车机嵌入式耕耘多年的嵌入式工程师 此前我从未接触过蓝牙和无线相关的开发工作 前段时间参与了全志的开发板适用活动 幸运地被免费开发板砸中 到手发现这个板子具有蓝牙5 0和WLAN功能 兴奋之余立马尝试了一下 开发环境的搭建 受工作环
  • 说说 Dubbo 与 Spring Cloud 的区别?

    Dubbo 和 Spring Cloud 都是流行的分布式服务框架 但它们在设计和使用上有一些不同之处 以下是它们之间的一些主要区别 开发语言 Dubbo 主要基于 Java 而 Spring Cloud 是基于 Spring Boot 的
  • 第二部分相移干涉术

    典型干涉图 相移干涉术 相移干涉术的优点 1 测量精度高 gt 1 1000 条纹 边缘跟踪仅为 1 10 边缘 2 快速测量 3 低对比度条纹测量结果良好 4 测量结果不受瞳孔间强度变化的影响 独立于整个瞳孔的强度变化 5 在固定网格点获
  • centos开机自启动实战小案例

    1 编写一个我们需要做事的脚本 bin bash 打印 Hello echo Hello Mr Phor 为了更好的能看到效果 我们把这段文本放置到一个文件中 如果重启能够看到 a txt文件 我们实验成功 echo hahahahahah
  • C++ 字符串中最长的连续出现的字符

    采用双指针思想 include
  • 什么是SpringCloud

    SpringCloud是一个基于Spring Boot的开源框架 它可以帮助开发者快速搭建分布式系统 包括服务注册与发现 配置管理 负载均衡 容错处理等能力 SpringCloud提供了统一的开发接口 使得开发者可以自由选择不同的服务提供者
  • DHCP服务详解

    DHCP Dynamic Host Configuration Protocol 动态主机配置协议 是一种网络协议 用于自动分配IP地址 子网掩码 默认网关 DNS服务器等网络参数给连接到网络的设备 这个过程主要包括四个步骤 DHCP Di
  • 深入挖掘:Python中的Statsmodels库高级应用

    写在开头 随着数据科学的发展 解决更为复杂问题的关键往往在于深入了解数据并采用更高级的分析工具 本文将带您深入探讨Python中的Statsmodels库 并引入一些高级功能 为更深入的数据挖掘奠定基础 1 方差分析 1 1 方差分析概念
  • 成为NLP专家的最佳时间表:2024 年半年内的学习策略

    介绍 2023 年见证了自然语言处理 NLP 的突破性进展 以及 Bard 和 ChatGPT 等强大语言模型的兴起 这些奇迹不仅是人工智能发展的壮举 它们标志着一个新时代的到来 在这个时代 机器可以以前所未有的准确性和流畅度理解和生成人类
  • HttpUtils——助力高效网络通信

    使用HttpClient发送请求 接收响应很简单 一般需要如下几步即可 1 创建HttpClient对象 2 创建请求方法的实例 并指定请求URL 如果需要发送GET请求 创建HttpGet对象 如果需要发送POST请求 创建HttpPos
  • Dubbo 负载均衡策略?

    Dubbo是一款高性能 轻量级的开源Java RPC框架 它提供了一种灵活的负载均衡策略 以平衡服务调用时的负载 提高系统的可扩展性和稳定性 Dubbo支持多种负载均衡策略 其中包括 随机负载均衡 Random Dubbo使用随机负载均衡策
  • 基于SpringBoot+Vue的游戏交易系统设计实现(源码+lw+部署文档+讲解等)

    文章目录 前言 详细视频演示 具体实现截图 技术栈 后端框架SpringBoot 前端框架Vue 持久层框架MyBaitsPlus 系统测试 系统测试目的
  • 【深度学习】注意力机制(七)Agent Attention

    本文介绍Agent Attention注意力机制 Transformer中的Attention模块可以提取全局语义信息 但是计算量太大 Agent Attention是一种计算非常有效的Attention模块 论文 Agent Attent
  • 代码随想录算法训练营第42天| ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

    416 分割等和子集 已解答 中等 相关标签 相关企业 给你一个 只包含正整数 的 非空 数组 nums 请你判断是否可以将这个数组分割成两个子集 使得两个子集的元素和相等 示例 1 输入 nums 1 5 11 5 输出 true 解释