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

苏州品牌网站建设百度app下载安装 官方

苏州品牌网站建设,百度app下载安装 官方,wordpress电商方案,免费做logo设计的网站1.题目解析 题目来源 416.分割等和子集——力扣 测试用例 2.算法原理 1.状态表示 这里背包问题基本上和母题的思路大相径庭,母题请见 [模板]01.背包 ,这里的状态表示与装满背包的情况类似,第二个下标就是当选择的物品体积直接等于j时是否可…

1.题目解析

题目来源

416.分割等和子集——力扣

测试用例 

2.算法原理

1.状态表示

这里背包问题基本上和母题的思路大相径庭,母题请见 [模板]01.背包 ,这里的状态表示与装满背包的情况类似,第二个下标就是当选择的物品体积直接等于j时是否可以装入"背包",本题是求是否可以将一个数组分为大小相等的两部分,不妨变换思路,求出是否可以找一些数字的和等于该数组的一半,即

dp[i][j]:选择[1,i]区间的物品,此时总"体积"完全等于j时是否可以装入"背包"

2.状态转移方程

状态转移方程需要判断最后一个位置是否可以装入"背包",以此来判断此时位置的状态

1.当不选择当前位置:dp[i][j] = dp[i-1][j],不选择则"体积"不变,也就是j不变

2.选择当前位置:需要找到前面位置是否存在,也就是dp[i-1][j-nums[i-1]],注意判断j>=nums[i-1],不然就不能使用该位置的状态

3.初始化

开辟了虚拟位置,需要对虚拟位置进行初始化

4.填表顺序

从上到下,每一行从左到右

5.返回值 

返回最后一个位置的dp值

3.实战代码

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

代码解析 

代码优化 

 

http://www.fp688.cn/news/163705.html

相关文章:

  • 厦门网站做优化快手seo软件下载
  • 2017wordpress整站源码小红书seo是什么意思
  • 个人如何做微商城网站设计个人模板建站
  • 如何网站里做照片开鲁网站seo
  • 建设高端网站需要多少钱网络媒体推广产品
  • 蛋糕网站制作答辩黄冈网站推广软件费用是多少
  • 网上怎么做销售aso关键词排名优化是什么
  • web app wordpress广州seo网站多少钱
  • 深圳设计网站招聘百度引流平台
  • 哪个网站做不锈钢好广州今日头条新闻最新
  • ppt网站建设答案sem专员
  • 搭建企业网站宽带多大吉林seo刷关键词排名优化
  • 网站产品介绍页面的布局方案常见的网络推广方式
  • 北京网站建设 专业10年seo搜索引擎优化入门
  • 政府网站集约化建设进展情况做网页怎么做
  • 做任务打字赚钱的网站新手怎样推销自己的产品
  • 行业网站系统360免费建站
  • 深圳网站建设公司招聘百度推广免费
  • 做的比较好的个人网站企业培训考试app
  • 合肥个人做网站短视频推广引流
  • 南昌网站建设专业公司天天自学网网址
  • wordpress 聚合霸屏seo服务
  • 公司做卖网站有前景吗2024年瘟疫大爆发
  • 建筑工程 技术支持 东莞网站建设注册网站需要多少钱?
  • 网站上的二维码怎么做的怎么进行网站推广
  • 筑建网站首页公司百度推广一年多少钱
  • 国外做饮用来源的网站挖掘关键词工具
  • 网站开发产生费用分录怎么写深圳网络推广最新招聘
  • 微信人生里面微网站怎么做平台推广营销
  • wp做购物网站网络推广方案