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

联系我们网站模板html5网站用什么软件

联系我们网站模板,html5网站用什么软件,wordpress 主题文件,中国建设银行重庆网站首页从这道题开始,我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢,而这里我们将使用回溯算法解决很多经典问题。 那么这道题是如何使用回溯算法的呢?在讲回溯之前,先说明一下此题是如何递归的。毕竟回溯递归不分家&a…

从这道题开始,我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢,而这里我们将使用回溯算法解决很多经典问题。

那么这道题是如何使用回溯算法的呢?在讲回溯之前,先说明一下此题是如何递归的。毕竟回溯递归不分家,必须先有递归,才会有回溯。而这里的递归就是在题目所给集合的子集中使用for循环选择数字。考虑组合的无序性(1,2和2,1是相同的组合),那么在对递归得到的子集进行遍历时,需要用变量控制for循环的起始位置。另外,如果题目说明不能取重复数字,那么在对该控制变量赋值时,需要注意。举个例子:最开始的集合有1,2,3,4,那么我们第一次一定是从这个集合中选一个数。为了保证之后不重复选择1,我们下一步一定是从2,3,4这个集合中选一个数,以此类推。我们可以发现递归得到的子集范围在不断缩小。接下来讲一下回溯,我们需要写一个for循环将递归函数包起来,这个for循环的作用是遍历当前集合的所有数,假设在第一个集合中我们已经选了1这个数,然后递归选择第二个数,那么在选择第二个数的递归函数结束之后,我们可以将1弹出存储组合的数组,并通过for循环选择第一个集合中的第二个数,这样就得到了其他组合情况。这道题大家可以当做模版题记下来,之后的回溯算法的代码风格都与这道题大差不差。可以结合我下面的代码及注释理解这道题。

代码及注释如下:

class Solution {
private:vector<vector<int>> result; // 存放符合条件结果的集合vector<int> 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:vector<vector<int>> combine(int n, int k) {result.clear(); // 可以不写path.clear();   // 可以不写backtracking(n, k, 1);return result;}
};

http://www.tj-hxxt.cn/news/129762.html

相关文章:

  • 大型网站开发基本流程wordpress+漂亮的博客
  • 昆明网站建设优化百度云资源链接分享群组
  • 浙江外贸人才网青岛做网站哪家优化好
  • 网上建立网站太原有哪些做网站的公司
  • 苏州做网站公司 速选苏州聚尚网络用分布式做的网站
  • 给我一个免费网站吗做网站推广优化
  • 深圳最好的网站建设公司无锡做网站费用
  • 郑州网站建设大华伟业php应用市场源码
  • 网站诊断分析什么是一种特色的网络营销方式
  • 学校资源网站建设目标抖音关键词排名优化软件
  • 网站备案幕布申请手机导航下载2022新版
  • 无锡企业网站成都php网站建设工程师
  • 模板建站seo优化wordpress敏感词
  • 建立应用网站做推广的网站微信号
  • 珠海品牌网站制作服务北京工商网上登记申请平台
  • 汕头模板建站代理上海做网站hlanggroup
  • 网站模板 哪家好网站实名认证需要什么资料
  • 外卖网站建设方案书南宁公司注册
  • 最好的优化公司东莞正规的免费网站优化
  • 做美团网站代码wordpress网站搬家
  • 建设网站都需要哪些内容找工作上什么网
  • 秦皇岛陵县网站建设深圳做装修网站费用
  • 制作杂志wordpress主题百度推广seo
  • dw设计做网站案例独立站
  • 并提示网站菜单导航及用户登录百度pc端入口
  • 临安网站设计新产品市场推广方案
  • 广西政府网站集约化建设方案百度推广客服
  • 温州做网站建设多少钱河南整站关键词排名优化软件
  • 济南怎样做网站推广长沙seo网站管理
  • 咸阳兼职做网站实体店铺引流推广方法