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

建筑公司网站内容网站维护步骤

建筑公司网站内容,网站维护步骤,wordpress minty,建e网室内设计网怎么用leetcode77.组合 组合 题目抽象 我们把组合问题抽象为以下树形结构: 我们将上图的树形结构称之为决策树,从决策树中我们可以看出,n决定决策树的宽度即循环次数,而k决定决策树的深度即递归次数 我们挑选出某一具体路径来进行分析…

leetcode77.组合

组合

题目抽象

我们把组合问题抽象为以下树形结构:

在这里插入图片描述

我们将上图的树形结构称之为决策树,从决策树中我们可以看出,n决定决策树的宽度即循环次数,而k决定决策树的深度即递归次数

在这里插入图片描述

我们挑选出某一具体路径来进行分析。我们在得到[1,2]后递归返回,想要再得到[1,3],就需要把2

“还回去”,因此,这便是一道经典的回溯问题

回溯三部曲

  • 确定递归函数的函数头

首先我们要定义两个全局变量

  • vector<vector<int>> ret:存放最终返回值
  • vector<int> path:存放某一符合要求的结果

也可以将这两个全局变量当作参数传递给递归函数

void dfs(int n, int k, int start)

start用来确定下一层递归的开始位置,调用下一层递归函数时传入start+1,可以避免取到重复元素

  • 单层遍历的过程

for循环中,istart位置开始遍历,path存放取到的值,调用下一层递归,递归结束后回溯

for(int i=start;i<=n;i++)
{path.push_back(i);dfs(n,k,i+1);path.pop_back();
}
  • 确定递归函数终止条件

path.size() == k时递归终止,将path加入ret中后返回

if(path.size() == k)
{ret.push_back(path);return;
}

完整代码

vector<vector<int>> ret;
vector<int> path;
vector<vector<int>> combine(int n, int k) {dfs(n,k,1);return ret;
}
void dfs(int n,int k,int start)
{if(path.size() == k){ret.push_back(path);return;}for(int i=start;i<=n-k+path.size()+1;i++){path.push_back(i);dfs(n,k,i+1);path.pop_back();}
}
http://www.dtcms.com/wzjs/542347.html

相关文章:

  • 做实验学编程的网站湘潭学校网站建设 磐石网络专注
  • 网站项目计划书模板范文网上商店网站设计
  • 阿里巴巴网站是怎么做的怎么搜索整个网站内容
  • 备案查询站长工具海口小程序制作公司
  • 电子商城网站建设 模板互联网产品设计网站
  • 网站推广制作有口碑的免费网站建设
  • 绵阳市公司网站建设wordpress301跳转插件
  • 做一个交易平台网站的成本合肥互联网公司
  • 网站开发属于什么科目wordpress linux 权限
  • 素马网站设计公司淘点金wordpress插件
  • 原创作文网站wordpress标签云添加
  • 网站优化改动怎么做每平每方设计家官网
  • 网站的开发建设费公司产品推广方案
  • 织梦网站手机页怎么做中国菲律宾南海开战
  • 襄樊北京网站建设兰州网新公司
  • 泰安网站建设公司排名郑州做网站首选九零后网络
  • 江苏省工程建设标准定额网站网站开发可以用gif吗
  • 网站让女友做网站模特网站内容与标题的区别
  • 制作企业网站公司排名珠海电脑自己建网站
  • 凡科网做网站能达到什么效果个人网站做跳转怎么弄
  • 做网站能接到项目工程吗建设企业网站是静态还是动态好
  • wordpress 角色和权限管理seo优化知识总结
  • 衡阳县专业做淘宝网站托管竞价账户哪家好
  • 网站vps广东专业网站开发
  • 网站招标书怎么做WordPress安卓APP不能绑定
  • 中国空间站建成时间网站建设怎样接业务
  • 德州市建设局网站微信小网站制作
  • 培训行业网站建设seo营销是指
  • 网站建设销售客户疑问交互比较好的网站
  • 云南网站建设设计泉州网站设计招聘网