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

冠县做网站哪里好个人网站设计论文php

冠县做网站哪里好,个人网站设计论文php,低价网站建设方案,发帖推广哪个平台好题目链接:416. 分割等和子集 文章讲解:代码随想录 416. 分割等和子集讲解 视频讲解:动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集 思路和解法 题目: 给你一个 只包含正整…

题目链接:416. 分割等和子集

文章讲解:代码随想录 416. 分割等和子集讲解

视频讲解:动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集

思路和解法

题目:
给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。
想法:
第一次接触背包问题,思路还是挺巧妙的,而且通过今天这道题目我感觉熟悉以后可能很多问题都可以转化为背包问题,纯猜测的。01背包二维数组的方法更容易理解,但是一维数组似乎更实用一些,区别也不大,注意一下外层循环遍历物品,更新dp数组从后向前更新即可。

class Solution {
public:
//核心思路:如果能凑出和为所有数字求和的一半,就说明可以分割成功
//凑的过程简化为01背包问题,每个数字只能选一次,每个数字就是物品价值,同时也是物品重量
//假设有一个背包容量为sum/2,就看数字能不能刚好填满背包
//其实直接想似乎不需要价值,但因为背包问题有价值,那就不妨假设数字同时也是物品价值bool canPartition(vector<int>& nums) {//数组长度<=200 数字<=100,求和就小于等于20000,一半就小于等于10000// vector<int> dp(10001, 0);//先判断求和是否是偶数int sum = 0;for (int i = 0; i < nums.size(); i++) {sum += nums[i];}if (sum % 2 == 1) return false;int target = sum / 2;vector<int> dp(target + 1, 0);//一维数组 背包问题 外层循环遍历物品 一维数组要从后往前遍历 防止一个物品多次加入for (int i = 0; i < nums.size(); i++) {//背包空间要大于等于当前物品重量 才考虑可能放入for (int j = target; j >= nums[i]; j--) {//不放入当前物品的最大价值 和 放入当前物品后剩余空间能放的最大价值dp[j] = max(dp[j], dp[j - nums[i]] + nums[i]);}}if (dp[target] == target) return true;return false;}
};
http://www.yayakq.cn/news/292402/

相关文章:

  • 自助建站凡科网婚纱照网站
  • 装饰公司做网站宣传的是个好处电商网站设计特点
  • 阿里云网站实名认证做一个新公司网站要多少钱
  • 自媒体采集网站建设网盟官方网站
  • 做网站找谁好wordpress 链接微博
  • 高端网站开发教程wordpress 英文转中文
  • 织梦微电影分享网站织梦整站源码网站做百度推广多少钱
  • 中企动力做网站多少钱安徽注册公司网站
  • 临沧网站搭建jeecms官网
  • 做配单ic去什么网站好成都郫县网站建设
  • 什么网站可以接活在家做如何建设 营销型 网站
  • 电信网站备案查询系统网页编辑文档
  • 青岛 网站开发博网站建设
  • 服务专业公司网站建设服务全国高端网站
  • 微软网站做u盘启动教程电子商务网站的建设与流程
  • 快手点赞购买网站网站不备案什么意思
  • 中国十大网站mq网站开发
  • 门户网站建设平台免费的企业查询
  • 商务网站开发设计结论汉口网站建设制作
  • 一分钟建设网站帝舵手表网站
  • 息县网站建设公司wordpress的数据库配置文件
  • 自己做网站用花钱吗医药加盟网站模板
  • 设计网站推荐国内初期做网站
  • 甘肃网站建设推广做cpa的电影网站模板
  • 备案名称和网站logo不一致婚纱影楼网站建设
  • 网站是怎么建成的东莞网站系统哪里好
  • 网站建设的公司怎么做徐州英才招聘网
  • 天津建设工程信息网里如何添加设计资质佛山网站seo公司
  • 天津网站搜索排名优化网站群建设技术方案
  • 南京好的网站制作公司网络品牌推广方案