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

算法刷题记录 Day36

算法刷题记录 Day36

Date: 2024.04.02

lc 416. 分割等和子集

//2. 一维数组
class Solution {
public:bool canPartition(vector<int>& nums) {// 将问题转化为从数组中任意取数,使得容量为数组总和一半的背包内的价值尽可能大。// dp[j]表示容积为j的背包中,能装的最大价值。// dp[j] = for(int i=n-1; i>=0; i++) max(dp[j], dp[j-nums[i]]+nums[i]);int n = nums.size();int count = 0;for(auto& x: nums){count += x;}int half_count = count / 2;vector<int> dp(half_count+1, 0);for(int i=0; i<n; i++){for(int j=half_count; j>=nums[i]; j--){dp[j] = max(dp[j], dp[j-nums[i]]+nums[i]);}}if(dp[half_count] == (count - half_count))return true;elsereturn false;}
};// 1. 二维数组
class Solution {
public:bool canPartition(vector<int>& nums) {// 将问题转化为从数组中任意取数,使得容量为数组总和一半的背包内的价值尽可能大。// dp[i][j] 表示从第[0, i]个数中,容积为j的背包的最大价值;// dp[i][j] = max(dp[i-1][j], dp[i-1][j-v[i]]+v[i]);// 初始化第一行中,j大于等于nums[0]的为j,其余为0;int n = nums.size();int count = 0;for(auto& x: nums){count += x;}int half_count = count / 2;vector<vector<int>> dp(n, vector<int>(half_count+1, 0));for(int j=nums[0]; j<=half_count; j++){dp[0][j] = nums[0];}for(int i=1; i<n; i++){for(int j=0; j<=half_count; j++){if(j < nums[i])dp[i][j] = dp[i-1][j];else{dp[i][j] = max(dp[i-1][j], dp[i-1][j-nums[i]]+nums[i]);}}}// for(int i=0; i<n; i++){//     for(int j=0; j<=half_count; j++){//         cout<<"i:"<<i<<", j:"<<j<<", value:"<<dp[i][j]<<endl;//     }// }if(dp[n-1][half_count] == (count - half_count))return true;elsereturn false;}
};
http://www.lryc.cn/news/334904.html

相关文章:

  • 面试必问 - CSS 中元素居中小技巧
  • Chatgpt润色论文
  • 51单片机实验02- P0口流水灯实验
  • 使用git 和 github协作开发
  • DataX,MongoDB数据导入hdfs与mysql
  • 【OpenCV-颜色空间】
  • 电脑硬盘分区表的两种格式:MBR 和 GPT
  • kafka 常用非基础的核心设置项
  • 杂谈 EV之我见
  • 白色磨砂质感html5页源码
  • sqlite建立数据库
  • HTML5标签(网页编程)
  • RabbitMQ小记
  • 【备忘录】docker-maven-plugin 使用
  • 一起学习python——基础篇(10)
  • LoRa自组网络设计 6
  • C++手撕红黑树
  • 计算机中,逻辑端口
  • SV学习笔记(一)
  • 大型商业银行基础设施的用户安全管理创新与实践
  • 数据库入门-----SQL基础知识
  • 本地代码第一次提交到远程仓库gitee
  • 蓝桥杯刷题 深度优先搜索-[178]全球变暖(C++)
  • C语言-函数指针-快速排序算法(书籍示例-入门)
  • # 计算机视觉入门
  • React - 你知道useffect函数内如何模拟生命周期吗
  • 电子元器件批发商的市场营销策略与推广技巧
  • 大型语言模型(LLMs)面试常见问题解析
  • 【接口】HTTP(2) |请求方法及状态码
  • CSS设置网页颜色