代码随想录算法训练营第四十二天 | 416. 分割等和子集

news/2024/11/24 8:53:25/

正式开始背包问题喽!
416. 分割等和子集
给你一个只包含正整数的非空数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。
本题是 01背包的应用类题目。如何转换为01背包问题?物品是什么,背包又是什么?
本题要求集合里能否出现总和为 sum / 2 的子集。背包的的最大容量为sum / 2,集合中的元素就是物品的重量和价值。01背包中,dp[j] 表示:容量为j的背包,所背的物品价值最大可以为dp[j]。01背包的递推公式为:dp[j] = max(dp[j], dp[j - weight[i]] + value[i])。如果使用一维dp数组,物品遍历的for循环放在外层,遍历背包的for循环放在内层,且内层for循环倒序遍历!
还需要再思考!

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

努力啊!


http://www.ppmy.cn/news/740927.html

相关文章

国家基本比例 尺地图图式 第 1 部分 :1 500 000 2 000 地形图图式

ICS 01.080.30 A 79 中 ,一4岳: 2 ιA 人 民 J吐 、、采日 国 国家 标 准 GB/T 20257. 1-20 17 代替 G 8&#xff0f;丁 20257 .J -2007 国家基本比例 尺地图图式 &#xff0e;&#xff0e; &#xff0e;&#xff0e; &#xff0e;&#xff0e; 第 1 部分 &#xff1a;1…

【Linux】gcc编译过程、make和makefile的概念与区别、Linux简单进度条实现

文章目录 1.gcc编译过程1.1预处理1.2编译1.3汇编1.4链接 2.自动化构建工具-make和makefile2.1使用背景2.2两者的概念和区别2.3项目清理 3.Linux简单进度条的实现 1.gcc编译过程 1. 预处理&#xff08;进行宏替换)   2. 编译&#xff08;生成汇编)   3. 汇编&#xff08;生成…

【Go】Go 语言教程--语言变量(五)

往期教程&#xff1a; Go 语言教程–介绍&#xff08;一&#xff09;Go 语言教程–语言结构&#xff08;二&#xff09;Go 语言教程–语言结构&#xff08;三&#xff09;Go 语言教程–数据类型&#xff08;四&#xff09; 文章目录 变量声明多变量声明值类型和引用类型简短形…

《蓝桥杯真题》:1.自动售水机

自动售水机 功能简述&#xff1a;设计任务及要求实现代码 真题内容取自&#xff1a; 无语凝烟 功能简述&#xff1a; 通过竞赛硬件平台模拟小区自动售水机的工作流程&#xff0c;具体的&#xff1a;通过按键控制售水机水流出和停止&#xff1b;通过数码管显示费率、出水量及总…

【机器学习】P25 随机森林算法(2) 实现 “波士顿房价” 预测

随机森林算法 Random Forest Algorithm 随机森林算法随机森林算法实现波士顿房价预测 随机森林算法 随机森林&#xff08;Random Forest&#xff09;算法 是一种 集成学习&#xff08;Ensemble Learning&#xff09;方法&#xff0c;它由多个决策树组成&#xff0c;是一种分类…

巧解小学数学四舍五入后的最大和最小的小数

最近辅导小孩数学题&#xff0c;发现有一类题目孩子不懂该如何求&#xff0c;家长也不知道该如何通俗易懂的给孩子讲解。例如&#xff0c;一个两位小数四舍五入为一位数之后结果为8.0&#xff0c;那么这样的两位小数最大是多少&#xff0c;最小又是多少&#xff1f; 下面介绍一…

【新版系统架构】第十二章-信息系统架构设计理论和实践

软考-系统架构设计师知识点提炼-系统架构设计师教程&#xff08;第2版&#xff09; 第一章-绪论第二章-计算机系统基础知识&#xff08;一&#xff09;第二章-计算机系统基础知识&#xff08;二&#xff09;第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…

linux下postgresql的安装和部署

1.官网下载安装包 PostgreSQL: File Browser 2. 下载成功后上传到Linux服务器 3.解压文件 tar -zxvf postgresql-14.5.tar.gz 4.编译(后边的地址指定的就是安装数据库目录) ./configure --prefix/usr/local/postgresql 出现异常&#xff1a;configure: error: readline lib…