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

为什么网站找不到了怎么做网站广告

为什么网站找不到了,怎么做网站广告,西安网站代维护,傻瓜式php网站开发工具给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 2&…

给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

示例 1:

输入:nums = [1,5,11,5]
输出:true
解释:数组可以分割成 [1, 5, 5] 和 [11] 。

示例 2:

输入:nums = [1,2,3,5]
输出:false
解释:数组不能分割成两个元素和相等的子集。

提示:

  • 1 <= nums.length <= 200
  • 1 <= nums[i] <= 100

01背包问题
背包问题,大家都知道,有N件物品和一个最多能背重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。
01背包一维滚动数组递推公式:dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);

本题如何转换到01背包问题是关键,我们想一想,题目说分割两个等和子集,那只需要是sum/2得到一个子集的体积,这个sum/2得到的相当于就是一个背包,这个背包体积是sum/2,看nums里面能否把这个背包体积装满,如果能装满,即可以分割等和子集。对应01背包问题,这题注意的点是背包要放入的商品(集合里的元素)重量为元素的数值,价值也为元素的数值,其次背包中每一个元素是不可重复放入。动规五部曲(dp含义、递推公式、初始化、遍历顺序、打印数组)

dp含义:dp[j]表示容量为j的背包,所背的物品价值最大可以为dp[j]。

递推公式:本题中每一个元素的数值既是重量,也是价值。所以
dp[j] = max(dp[j], dp[j - nums[i]] + nums[i]);

初始化:背包容量为j=0,物品最大价值为dp[0]=0这个好理解,那其他下标初始化也为0是为什么呢,因为dp数组在递推的过程中取得最大的价值,把下标初始成负无穷小,就不会被初始值覆盖,这里初始为0即可,也是一样的。

遍历顺序:
这里是用一维滚动数组来解决,所以物品遍历的for循环放在外层,遍历背包的for循环放在内层,然后题目说物品i只能放一次,所以且内层for循环倒序遍历!
因为倒序遍历是为了保证物品i只被放入一次!。但如果一旦正序遍历了,那么物品0就会被重复加入多次!

打印数组:当遇到疑惑或者提交错误时,打印数组出来比较快速的看看哪一步有错。

以下是我在力扣c语言提交的代码,仅供参考:
一维滚动数组:

bool canPartition(int* nums, int numsSize) {//给出容量和数值大小范围,求的还是一半,所以数组大小为200*100/2+1int dp[10001]={0};int sum = 0;int target = 0;for(int i = 0;i<numsSize;i++){sum+= nums[i];}//如果总和为偶数说明可以分割等和子集,反之if(sum % 2 == 0){target = sum / 2;}else if(sum % 2 != 0){return false;}//初始化memset(dp,0,sizeof(dp));dp[0] = 0;//先遍历物品for(int i = 0;i<numsSize;i++){//再遍历背包,且是倒序遍历,保证物品i只被放入一次!for(int j = target;j>=nums[i];j--){//01背包递推公式dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);//本题中每一个元素的数值既是重量,也是价值dp[j] = dp[j] > dp[j-nums[i]] + nums[i] ? dp[j] : dp[j-nums[i]] + nums[i];}}//如果dp[target] == target//说明可以将这个数组分割成两个子集,使得两个子集的元素和相等。if(dp[target] == target) return true;return false;
}

在此也给出二维数组的求解:
 

bool canPartition(int* nums, int numsSize) {int sum = 0;for(int i = 0;i<numsSize;i++){sum += nums[i];}if(sum % 2 == 1){return false;}int traget = sum / 2;int dp[numsSize+1][traget+1];memset(dp,0,sizeof(dp));for(int i = nums[0];i<=traget;i++){dp[0][i]=nums[0];}for(int i = 1;i<numsSize;i++){for(int j = 0;j<=traget;j++){if(j<nums[i]){dp[i][j] = dp[i-1][j];}else{dp[i][j] = dp[i-1][j] > (dp[i-1][j-nums[i]]+nums[i]) ? dp[i-1][j]: (dp[i-1][j-nums[i]]+nums[i]);}}}if(dp[numsSize-1][traget] == traget){return true;}else{return false;}
}

http://www.dt0577.cn/news/45682.html

相关文章:

  • 网站建设优化之优化关键字专注于品牌营销服务
  • 网站概要设计模板seo标题优化步骤
  • 做微信的网站秀客百度导航最新版本免费下载
  • 大型网站url关键词优化建议
  • 广东省建设工程交易中心网站网络营销与传统营销的整合
  • 好的装修效果图网站百度网站怎么优化排名
  • fotor网站做兼职靠谱吗杭州数据推广
  • 网站开发设计概述推广网站排名优化seo教程
  • 网站建设独立seo排名软件有用吗
  • 网站开发视频教程seo教程排名第一
  • wordpress仿堆糖南京广告宣传公司seo
  • 网站通栏代码软文推广方案
  • 用花生壳免费域名做公司网站最新军事新闻 今日 最新消息
  • 商标设计网站排行长春seo技术
  • 诸城做网站信息流优化师怎么入行
  • 网站建设与管理实训心得宁波seo推广优化怎么做
  • 做网站所需要的项百度指数如何分析数据
  • 长宁专业做网站seo短期课程
  • 阿里云自助建站模板北京谷歌seo公司
  • 做交友网站怎么赚钱世界最新新闻
  • 网站建设的实施方式500强企业seo服务商
  • 网咖活动营销方案成都最好的网站推广优化公司
  • 在线制作成品图片北京专门做seo
  • 做网站的详细教程幽默软文经典案例300
  • 我需要一个网站常见的网络营销方式有哪些
  • 网站前台设计方案专业软文发布平台
  • 信用卡申请网站建设郑州seo优化服务
  • 贵州快速整站优化沪深300指数怎么买
  • 企业网站 seo怎么做免费建立个人网站凡科
  • 西安做网站的线上营销的优势和劣势