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

威海好的网站建设公司宁波网站建设与维护

威海好的网站建设公司,宁波网站建设与维护,即墨建设局网站,网站是怎么制作出来的组合总和 问题描述:给一个组合元素集合【2 5 3】,都是正整数且没有重复,有一个targer数8, 集合里面的元素可以重复选,让我们从组合里挑数,使得求和后等于8,返回能求和的组合 , 答案…

在这里插入图片描述

组合总和

问题描述:给一个组合元素集合【2 5 3】,都是正整数且没有重复,有一个targer数8, 集合里面的元素可以重复选,让我们从组合里挑数,使得求和后等于8,返回能求和的组合 , 答案应该是:【 【2,2,2,2】, 【2,3,3】 , 【3,5】 】

画树形结构的注意点:

1、路径取了2后,剩余元素仍然是2 3 5,因为元素可以重复取。

2、第2条分支,取5,剩余元素要从5后开始算,即5 3, 不能有2,因为如果5 2 那么就和前面的2 5重复了。

3、叶子结点判断是否等于target,如果等于,记录这个答案,返回。如果大于target,已经超了,直接返回。如果小于,继续树深查找。

在这里插入图片描述

用代码 实现

和组合问题比较大的差异是:选了一个元素后,剩余元素里,要把已经选过的元素带上,这样才能达到重复选取目地。

其他方面和组合问题差不多,只不过是用一个组合的和target,限制树的高度。

回溯三部曲实现:

1、函数返回值 一般是void

2、确定终止条件

3、单层搜索逻辑

vector<vector<int>> result;
vector<int> path;sum判断path路上的和是否等于target。
int sum;   
startIndex 作用:在第2个分支如何知道从下一个位置开始找,是for循环变量的开始位置。
void backtracking(candidate, target, sum, startIndex){if(sum > taeget) return;if(sum == target){result.push_back(path);return;}//单层搜索逻辑,for循环里面的i控制左右,即for的i控制分支,  里面的递归控制高度for(int i = startIndex; i<candidate.size();i++){path.push_back(candidate[i]);sum += candidate[i];backtracing(candidate, target, sum, i);//回溯不能掉,如何收集信息,就如何吐出去。sum -= candidate[i];path.pop_back();}return;
}

这里附上我的完整的解题代码

class Solution {
public:vector<vector<int>> result;vector<int> path;int sum=0;int startIndex=0;void backtracking(vector<int>& candidates, int target, int sum, int startIndex){if(sum > target)    return;if(sum == target){result.push_back(path);return;}//单层搜索逻辑for(int i=startIndex; i<candidates.size(); i++){path.push_back(candidates[i]);sum += candidates[i];backtracking(candidates, target, sum, i);//回溯,撤销删除sum -= candidates[i];path.pop_back();}return;}vector<vector<int>> combinationSum(vector<int>& candidates, int target) {backtracking(candidates, target, 0, 0);return result;}
};
http://www.dtcms.com/wzjs/505163.html

相关文章:

  • 英文互动网站建设哪里做网站便宜
  • 网站404页面作用一站式网站建设公司
  • 国内做网站的企业企业seo排名费用报价
  • 网站地图做法做网站优化seo方案
  • wordpress改成织梦免费的seo优化工具
  • 安康网站建设公司电话seo实战密码在线阅读
  • 套路网站怎么做的软文写作经验
  • 牡丹江住房和城乡建设厅网站新媒体推广渠道有哪些
  • 做网站制作赚钱吗2023免费推广入口
  • wordpress网站数据库备份百度网盘云资源搜索引擎
  • 长沙seo计费管理淘宝优化关键词的步骤
  • 企业网站优化是什么百度营销
  • 专门做电路图的网站国外免费域名申请
  • 建站必须要域名吗青岛网站快速排名提升
  • wordpress 手动安装win7怎么优化最流畅
  • 数据服务网站开发长春网站建设模板
  • 做网站app要多钱论坛如何做seo
  • 临沂网站建设朋友圈广告推广平台
  • 专做蓝领招聘网站有哪些在线网页生成器
  • 石家庄网站做网站淘宝如何刷关键词增加权重
  • 网站建设公司网站建设专业品牌西安百度竞价托管
  • 装饰网站建设流程安徽seo团队
  • 做商城的网站用什么框架好网站软件下载app
  • 专业建设外贸网站长尾词seo排名
  • 做网管要维护网站网络推广公司口碑
  • 自己做网站犯法吗企点官网
  • 电信固定ip如何做网站高端网站建设哪个好
  • wordpress主题模板仿seo主要是指优化
  • 政府网站建设成本软文推广发布平台
  • 外部链接链轮的建设对于网站提百度权重域名