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

襄樊网站建设公司网站优化是做什么的

襄樊网站建设公司,网站优化是做什么的,个人做电子商务网站备案,铁岭开原网站建设题目描述 原题链接:494. 目标和 解题思路 (1)回溯法 本题的特点是nums中每个元素只能使用一次,分别试探加上nums[index]和减去nums[index],然后递归的遍历下一个元素index 1。 class Solution { public:int res …

题目描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
原题链接:494. 目标和

解题思路

(1)回溯法

本题的特点是nums中每个元素只能使用一次,分别试探加上nums[index]和减去nums[index],然后递归的遍历下一个元素index + 1

class Solution {
public:int res = 0;void backtracking(vector<int>& nums, int target, int index) {if(index == nums.size()) {if(target == 0)         res++;return ;}backtracking(nums, target - nums[index], index + 1);backtracking(nums, target + nums[index], index + 1);}int findTargetSumWays(vector<int>& nums, int target) {backtracking(nums, target, 0);return res;}
};

(2)动态规划

本题中的数都为非负数,目标要求是选取组成正数的数与负数的数,让其和为target,因此我们可以将这个题中的数划分为两个集合,一个是要组成正数的集合,设容量为pos,一个是要组成负数的集合,设容量为neg

由题中要求可得pos - neg = targetpos + neg = sum,联立两式,可得2 * pos = target + sum,因此我们就可以进行第一个判定,target + sum不为偶数时,可知一定不能组合出target直接返回false即可。当为偶数时,我们要找到可以组成pospos = (target + sum) / 2)的组合。问题就可以转变为,当背包容量为pos时,选取nums里的数,有多少种组合方式可填满背包。

  • 动态规划五步曲:

(1)dp[j]含义: 装满背包容量为j的方式个数。

(2)递推公式: dp[j] += dp[j - nums[i]],装入nums[i]之前,容量为j - nums[i]时的方式个数dp[j - nums[i]],再加上装入nums[i]之后,容量为j时之前的方式个数dp[j],进而得到背包容量为j时,总的方式个数。

(3)dp数组初始化: dp[0] = 1,容量为0时,仅有一种方式可以成立,即选择数字0。

(4)遍历顺序: 先物品、再背包,内层按从大到小遍历的滚动数组。

(5)举例:

输入: nums: [1, 1, 1, 1, 1], S: 3
此时,正数最大为4,里面只有1,因此dp[j]长度为4。
在这里插入图片描述

class Solution {
public:int findTargetSumWays(vector<int>& nums, int target) {int sumNums = 0;for(int i = 0; i < nums.size(); i++)                    sumNums += nums[i];// target超过总和或者不满足pos为偶数的情况,直接返回0if(abs(target) > sumNums || (sumNums + target) % 2 != 0)     return 0;int dp[10001] = {0};dp[0] = 1;int pos = (sumNums + target) / 2;for(int i = 0; i < nums.size(); i++) {for(int j = pos; j >= nums[i]; j--) {// 组合情况要累计dp[j] += dp[j - nums[i]];}}return dp[pos];}
};

参考文章:494. 目标和、目标和、目标和(详细C++代码动态规划详细思路分析)

http://www.yidumall.com/news/103715.html

相关文章:

  • 青海西宁网页网站制作公司免费推广网站
  • 做网站图片素材bt最佳磁力搜索引擎
  • 陕西省和城乡建设厅网站seo网络推广经理
  • 999免费网站传奇指数运算法则
  • app建设网站最新国际足球世界排名
  • 阿里巴巴做网站找谁公司的seo是什么意思
  • java开源商城系统源码南宁百度seo建议
  • 网站建设公司哪里找万网域名注册官网
  • java做网站下载图片app推广的常用方法
  • 如何做微信小程序步骤免费发布网站seo外链
  • 淘宝客app开发搜索关键词优化
  • 眉山做网站的公司5118站长工具
  • 龙岩网站设计永久免费的培训学校管理软件
  • wordpress网站建设中优化网站首页
  • 嘉兴网站建设费用百度投诉平台在哪里投诉
  • 做网站上传电子书营销软文范文
  • 做啥网站站长工具官网
  • 公司网站建设做分录百度app下载官方
  • 仿抖音网站开发官网seo优化找哪家做
  • 河北省住房和城乡建设厅网站查企业营销型网站建设
  • 做娱乐网站seo 优化案例
  • 广州3d网站开发引擎优化是什么工作
  • 廊坊模板建站代理百度网盘提取码入口
  • 海报制作网站免费万能bt搜索引擎
  • xampp安装网站模板企业搜索引擎优化
  • 软件外包公司如何找客户桂林seo
  • 用腾讯云做会员网站自己做网站难吗
  • 网站如何做问卷调查问卷cba目前排名
  • 东莞米可网络怎么样自动seo优化
  • 华辰合肥企业展厅设计公司网站排名seo培训