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

app网站开发报价软文写作技巧

app网站开发报价,软文写作技巧,建设完网站成功后需要注意什么,西宁高端网站开发公司给定一个正整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ‘’ ,在 1 之前添加 ‘-’ &…

给定一个正整数数组 nums 和一个整数 target 。
向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :
例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1” 。
返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。

示例 1:
输入:nums = [1,1,1,1,1], target = 3
输出:5
解释:一共有 5 种方法让最终目标和为 3 。
-1 + 1 + 1 + 1 + 1 = 3
+1 - 1 + 1 + 1 + 1 = 3
+1 + 1 - 1 + 1 + 1 = 3
+1 + 1 + 1 - 1 + 1 = 3
+1 + 1 + 1 + 1 - 1 = 3

示例 2:
输入:nums = [1], target = 1
输出:1

提示:

1 <= nums.length <= 20
0 <= nums[i] <= 1000
0 <= sum(nums[i]) <= 1000
-1000 <= target <= 1000

思路:

看到数字的范围,以及状态状态是可以从上一层转移的,所以考虑动态规划
当然也可以使用dfs(思路会更简单一些)

状态表示:
f[i][j]表示前i个数字,总和为k的方案数量
这里每个数字都是必须选的

状态转移:
由于每个数字都相当于是必须选的,所以说不存在不选i的情况,所以不能不选i直接从i-1层状态转移过来,不选i这一情况的状态转移不用考虑了

状态转移方程:

                    if(k-nums[i]+m>=0)f[i][k+m]+=f[i-1][k-nums[i]+m];if(k+nums[i]+m<=2*m)f[i][k+m]+=f[i-1][k+nums[i]+m];

注意初始化的时候应该+=1,因为为第一个数为0的时候直接赋值为1会丢失一种情况

代码:

class Solution {
public:int f[21][2100];int findTargetSumWays(vector<int>& nums, int target) {int n=nums.size();int m=0;for(int i=0;i<n;i++)m+=nums[i];if(m<abs(target))return 0;memset(f,0,sizeof f);//f[i][k]表示第i个数总和为k的方案数//cout<<f[0][m+nums[0]]<<endl;f[0][m+nums[0]]+=1;//cout<<f[0][m+nums[0]]<<endl;f[0][m-nums[0]]+=1;//这里必须是+=1因为nums[0]可能为0,这时候如果=1就少了一种情况//cout<<f[0][m+nums[0]]<<endl;for(int i=1;i<n;i++)for(int k=-m;k<=m;k++)//枚举总和{//f[i][k+m]=max(f[i-1][k+m],f[i][k+m]); 由于第i个数不能不选,所以说不能不选i,进而从i-1这个状态直接转移过来if(k-nums[i]+m>=0)f[i][k+m]+=f[i-1][k-nums[i]+m];if(k+nums[i]+m<=2*m)f[i][k+m]+=f[i-1][k+nums[i]+m];}return f[n-1][m+target];}
};

运行结果:

在这里插入图片描述

http://www.qdjiajiao.com/news/343.html

相关文章:

  • 网站制作公司 云南小说排行榜百度搜索风云榜
  • 东莞长安网站看广告赚钱
  • 网站建设要入什么科目郑州疫情最新消息
  • 建设网站哪家好广告接单有什么平台
  • 网站建设技术路线图百度网页入口官网
  • 做网站的开源代码电话销售如何快速吸引客户
  • 网站建设学什么语音公司培训课程有哪些
  • 网站建设好公司好海外网站
  • 网站开发常用jquery插件总结(四)验证插件validation怎么制作一个网页
  • 自己做的网站怎么赚钱深圳营销型网站建设
  • 网站修改建议站长之家查询域名
  • 北京哪里做网站好seo网站推广是什么
  • 新加坡网站域名自己做网站
  • 网站横幅背景图seo综合查询怎么关闭
  • 前端外包初学seo网站推广需要怎么做
  • 做旅游网站犯法吗十种营销方式
  • 潍坊网站建设 潍坊做网站百度网盘官网下载
  • 昆明网站建设怎么样全国分站seo
  • 网站制作公司排名宜昌seo
  • 试用虚拟主机不能创建网站360网站seo手机优化软件
  • 汉滨区建设局网网站2345网址导航官网
  • 现代示范校建设专题网站排名前50名免费的网站
  • 做照片有那些网站好推广普通话手抄报模板可打印
  • 猪八戒网可以做福彩网站吗新公司怎么做网络推广
  • 向国旗致敬做时代新人网站百度搜索引擎投放
  • 汕头网站设计多少钱广州seo快速排名
  • 门户网站开发建设技术如何获取网站的seo
  • 中国十大公司企业文化小时seo
  • 做彩票网站是违法的吗天眼查企业查询入口
  • 东莞路桥公司是国企吗上海seo推广服务