当前位置: 首页 > news >正文

Leetcode 416. 分割等和子集(Medium)

给你一个 只包含正整数 的 非空 数组 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

思路:先是排除一些情况,如果总数为奇数,就无法分隔开,就返回false,然后创建dp数组,这个dp[i]的意义是能凑到第i个元素值,双重遍历num和dp,如果dp[i-num]为true,说明i-num是能凑到的,正好在遍历num,i也就一定可以凑到,置dp[i]=true,有一个细节是内层循环的倒序,这可以确保在考虑每个元素时,不会重复使用已经使用过的元素。

class Solution {public boolean canPartition(int[] nums) {int total = 0;for (int i = 0; i < nums.length; i++) {total += nums[i];}if (total % 2 != 0) return false;total /= 2;boolean[] dp = new boolean[total+1];dp[0] = true;for (int num : nums) {for(int i = total; i >= num; i--) {if (dp[i-num]) {dp[i] = true;}}}return dp[total];}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
  • 人工智能安全治理新篇章:《2024人工智能安全治理框架1.0版》深度解读@附20页PDF文件下载
  • MATLAB统计和机器学习工具箱:数据分析与建模的利器
  • PyQGIS开发 2 Qt开发入门
  • Dirsearch在linux安装与运行
  • JavaWeb---纯小白笔记01:JavaWeb概述和Tomcat安装
  • JavaWEB概述
  • 【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL21
  • cmake--get_filename_component
  • 常见的HTTP请求头和示例说明
  • 96 kHz、24bit 立体声音频ADC芯片GC5358描述
  • 分布式系统的概念与设计模式
  • 【Kubernetes】常见面试题汇总(二十五)
  • nestjs cache manager 很ioredis配合使用方案
  • 政安晨【零基础玩转各类开源AI项目】基于本地Linux Ubuntu系统部署及应用DDSP-SVC:基于DDSP(可微分数字信号处理)的实时端到端歌声转换系统
  • Hexo+码云+git快速搭建免费的静态Blog
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Mysql5.6主从复制
  • node-glob通配符
  • Object.assign方法不能实现深复制
  • Phpstorm怎样批量删除空行?
  • ReactNative开发常用的三方模块
  • springboot_database项目介绍
  • SpringCloud集成分布式事务LCN (一)
  • Windows Containers 大冒险: 容器网络
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 关于Java中分层中遇到的一些问题
  • 基于axios的vue插件,让http请求更简单
  • 前端之React实战:创建跨平台的项目架构
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 【云吞铺子】性能抖动剖析(二)
  • ionic入门之数据绑定显示-1
  • 阿里云API、SDK和CLI应用实践方案
  • ​你们这样子,耽误我的工作进度怎么办?
  • #stm32驱动外设模块总结w5500模块
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (19)夹钳(用于送货)
  • (C语言)fgets与fputs函数详解
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (九)One-Wire总线-DS18B20
  • (力扣)1314.矩阵区域和
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET C# 操作Neo4j图数据库
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net core使用EPPlus设置Excel的页眉和页脚
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)