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

巴南区网站建设站内推广的方法

巴南区网站建设,站内推广的方法,江苏省建设银行网站,快速排名程序题目描述 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集#xff0c;使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 思路分析 将题目信息翻译一下#xff0c;就是从原集合中选取数据元素#xff0c;使得和…题目描述 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 思路分析 将题目信息翻译一下就是从原集合中选取数据元素使得和是总和的一半对于每一个数据元素只有选中和没有选中两种可能所以本题就是01背包的变体。 确定dp[j]的含义那就是当需要数据总和为j的时候实际能够实现的数据总和。确定迭代的顺序dp[j]有两种情况第一种是遍历到当前下标的数据的时候要添加当前的数据那么就是dp[j-1]value[i]第二种情况就是不添加当前数据那么最终的结果就是dp[j-1]。dp数组初始化dp[0]0然后所有其他的初始化为0就可以确定遍历顺序按照数组的顺序·从前往后遍历带入验证 代码解析 class Solution { public:bool canPartition(vectorint nums) {int sum 0;// dp[i]中的i表示背包内总和// 题目中说每个数组中的元素不会超过 100数组的大小不会超过 200// 总和不会大于20000背包最大只需要其中一半所以10001大小就可以了vectorint dp(10001, 0);for (int i 0; i nums.size(); i) {sum nums[i];}// 也可以使用库函数一步求和// int sum accumulate(nums.begin(), nums.end(), 0);if (sum % 2 1) return false;int target sum / 2;// 开始 01背包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]);}}// 集合中的元素正好可以凑成总和targetif (dp[target] target) return true;return false;} };
http://www.zqtcl.cn/news/977468/

相关文章:

  • 网站开发要花多少钱wordpress网站邀请码
  • 社旗网站设计小程序制作用华网天下优惠
  • 建设产品网站代理注册企业邮箱
  • 购物网站建设费用珠海本地网站
  • 做电商网站前期做什么工作网站后台jsp怎么做分页
  • 百家利网站开发搜索引擎分哪三类
  • 安徽集团网站建设深圳最新通告今天
  • 公司网站主机流量30g每月够用吗攀枝花网站网站建设
  • 淘宝做图片的网站手机网站北京
  • 重庆网站首页排名公司网站公众号小程序开发公司
  • 河源网站制作1993seo福州室内设计公司排名
  • 哪里有做装修网站网站开发总出现出现404
  • 做a漫画在线观看网站策划营销型网站
  • 怎么 从头开始建设一个网站临沂高端网站建设
  • 网页设计制作网站素材传奇代理平台
  • 公司建站网站软文营销方案
  • 成品短视频网站源码搭建免费温州外贸网站制作
  • 旅游公司网站建设pptwordpress 用户增强
  • wordpress 最新东莞seo技术培训
  • 上海微网站开发网站 选项卡 图标
  • 淘宝网站建设的目标什么做网站公司 营销
  • 360企业网站认证wordpress 个人照片
  • 韩国私人网站服务器创业做网站APP开发
  • 成都网站建设推来客网站系统报价wordpress 本地图片 图床
  • 跨境电商怎么做流程青岛网站建设seo
  • 怎么搭建网站平台网站建设相关文献
  • 网站前面的小图标怎么做wordpress文章页广告插件
  • 设计制作一个 个人主页网站淄博做网站的公司都有哪些
  • 10月哪个网站做电影票活动宁波设计公司有哪些
  • 网站建设的pest分析公司erp系统