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

联系我们网站模板徐州seo招聘

联系我们网站模板,徐州seo招聘,海珠一站式网站建设,怎样做淘宝的导购网站从这道题开始#xff0c;我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢#xff0c;而这里我们将使用回溯算法解决很多经典问题。 那么这道题是如何使用回溯算法的呢#xff1f;在讲回溯之前#xff0c;先说明一下此题是如何递归的。毕竟回溯递归不分家我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢而这里我们将使用回溯算法解决很多经典问题。 那么这道题是如何使用回溯算法的呢在讲回溯之前先说明一下此题是如何递归的。毕竟回溯递归不分家必须先有递归才会有回溯。而这里的递归就是在题目所给集合的子集中使用for循环选择数字。考虑组合的无序性(1,2和2,1是相同的组合)那么在对递归得到的子集进行遍历时需要用变量控制for循环的起始位置。另外如果题目说明不能取重复数字那么在对该控制变量赋值时需要注意。举个例子最开始的集合有1,2,3,4那么我们第一次一定是从这个集合中选一个数。为了保证之后不重复选择1我们下一步一定是从2,3,4这个集合中选一个数以此类推。我们可以发现递归得到的子集范围在不断缩小。接下来讲一下回溯我们需要写一个for循环将递归函数包起来这个for循环的作用是遍历当前集合的所有数假设在第一个集合中我们已经选了1这个数然后递归选择第二个数那么在选择第二个数的递归函数结束之后我们可以将1弹出存储组合的数组并通过for循环选择第一个集合中的第二个数这样就得到了其他组合情况。这道题大家可以当做模版题记下来之后的回溯算法的代码风格都与这道题大差不差。可以结合我下面的代码及注释理解这道题。 代码及注释如下 class Solution { private:vectorvectorint result; // 存放符合条件结果的集合vectorint path; // 用来存放符合条件结果void backtracking(int n, int k, int startIndex) {if (path.size() k) {result.push_back(path);return;}for (int i startIndex; i n; i) {path.push_back(i); // 处理节点backtracking(n, k, i 1); // 递归path.pop_back(); // 回溯撤销处理的节点}} public:vectorvectorint combine(int n, int k) {result.clear(); // 可以不写path.clear(); // 可以不写backtracking(n, k, 1);return result;} };
http://www.hkea.cn/news/14264818/

相关文章:

  • 个体经营可以建设网站吗外网视频网站做泥声控
  • 网站促销计算哈尔滨专业制作网站
  • 一般网站建设费用预算99到家微网站什么做的
  • 网站设计设计目的阿里企业邮箱电话
  • 泗洪县建设局网站公司商标注册怎么弄
  • 有什么做心理咨询的好网站网站设计师主要做什么
  • 青岛关键词网站排名一个工程项目的整个流程
  • 做网站维护挣钱吗西安企业建站机构那里有
  • 网站搜索引擎怎样做什么软件可以做图片设计
  • 楼盘网站模板wordpress 文章阅读数
  • 大竹县国示建设专题网站小程序开发问题
  • 西安地区专业做网站公司北京公交yy优化
  • 广州手机端网站制作wordpress 怎么重新安装
  • 公司网站模版 dedecms营销网站建设内容
  • 工作时做网站使用软件怎么做自助购物网站
  • 专业做民宿的网站网深圳网站优化
  • 北理工网站开发与应用答案哈尔滨建筑专业网站
  • 做app模板网站东莞保安公司有多少家
  • 网站平台开发公司网站建设下一步打算
  • 个人网站 前置审批电脑网页怎么下载视频
  • 做网站app要多少钱北京网站建设团队
  • 千里马招标网站河北建设工程信息网辅助评标系统
  • 网站设计的内容温州建网站哪家好
  • 最新网站备案教程怎么建设影视卡网站
  • 姜堰网站制作建筑设计软件公司
  • 如何做网站哪个站推广济宁网站建设 帮站
  • 南宁网站怎么制作公司做使用的网站有哪些
  • 团购网站APP怎么做百度网站如何做运营
  • 网站模板 安装淘宝客必须做网站
  • 网站备案号被收回做venn的网站