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

代码随想录算法训练营第42天|动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、416. 分割等和子集

动态规划:01背包理论基础

动态规划:01背包理论基础(滚动数组)

以上两个问题的代码未本地化保存

416. 分割等和子集

https://leetcode.cn/problems/partition-equal-subset-sum/

复杂的解法

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

简单的解法

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

 

http://www.lryc.cn/news/182751.html

相关文章:

  • (详解)Linux常见基本指令(1)
  • 紫光同创FPGA图像视频采集系统,提供2套PDS工程源码和技术支持
  • 第一章 函数 极限 连续(解题方法须背诵)
  • selenium +IntelliJ+firefox/chrome 环境全套搭配
  • CentOS 7 停止维护后如何平替你的生产系统?
  • 第81步 时间序列建模实战:Adaboost回归建模
  • 135.【JUC并发编程_01】
  • VC++创建windows服务程序
  • 连续爆轰发动机
  • 交通物流模型 | 基于时空注意力融合网络的城市轨道交通假期短时客流预测
  • 2.2.1 嵌入式工程师必备软件
  • 深入了解 RabbitMQ:高性能消息中间件
  • 【数据库——MySQL】(14)过程式对象程序设计——游标、触发器
  • 位移贴图和法线贴图的区别
  • 【typescript】面向对象(下篇),包含接口,属性的封装,泛型
  • 基于SpringBoot的视频网站系统
  • 23.3 Bootstrap 框架4
  • ESP32设备驱动-I2C-LCD1602显示屏驱动
  • vs工具箱在哪里找
  • uniapp 事件委托失败 获取不到dataset
  • windows系统下pycharm配置anaconda
  • 2023年CSP-J真题详解+分析数据
  • 10.3 调试事件转存进程内存
  • 深度学习实战基础案例——卷积神经网络(CNN)基于MobileNetV3的肺炎识别|第3例
  • 机器学习 面试/笔试题(更新中)
  • 【算法题】100019. 将数组分割成最多数目的子数组
  • commons-io工具类常用方法
  • 【Typescript】面向对象(上篇),包含类,构造函数,继承,super,抽象类
  • 【python】python中字典的用法记录
  • 基于Java的大学生心理咨询系统设计与实现(源码+lw+部署文档+讲解等)