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

苏州web网站建设微信小程序怎么开通

苏州web网站建设,微信小程序怎么开通,官方网站建设对比,湖北十大建筑公司排名原题出于leetcode第77题https://leetcode.cn/problems/combinations/ 1.树型结构 2.回溯三部曲 递归函数的参数和返回值 确定终止条件 单层递归逻辑 3.代码 二维数组result 一维数组path void backtracking(n,k,startindex){if(path.sizek){result.append(path);return ;}…

原题出于leetcode第77题https://leetcode.cn/problems/combinations/

1.树型结构

2.回溯三部曲

  1. 递归函数的参数和返回值

  2. 确定终止条件

  3. 单层递归逻辑

3.代码

二维数组result
一维数组path
void backtracking(n,k,startindex){if(path.size==k){result.append(path);return ;}for(i=startindex;i<=n;i++){path.push(i);backtracking(n,k,i+1);path.pop();    }return ;
}

4.剪枝算法(长度为k时的剪枝)

由于要求组合的长度为k,故若遍历到某个数时,其后面刚好有k-1个数,则这个数即为应当遍历的最后一个数。如下图树型结构所示:

可以在遍历时对i的范围进行调整,调整逻辑如下:

  • 首先,我们要知道当前选取了多少个元素,即path.size()

  • 其次,计算还需要选取多少个元素:k-path.size();

  • 假设此时取到的数为x,则还未取的数的范围是[x,n],故有:

n-x+1>=k-path.size()

解得:x<=n-(k-path.size)+1

所以i的取值到n-(k-path.size)+1即可,具体代码如下:

二维数组result
一维数组path
void backtracking(n,k,startindex){if(path.size==k){result.append(path);return ;}for(i=startindex;i<=n-(k-path.size)+1;i++){path.push(i);backtracking(n,k,i+1);path.pop();    }return ;
}

文章中有关树型结构的图片出自代码随想录,这是一个非常好的算法平台,强烈推荐学算法的同学看一看

http://www.ritt.cn/news/16354.html

相关文章:

  • 专门做评论的网站百度营销
  • 深圳平价的专业建站公司百度登录入口官网
  • 有专门做序列图的网站关键词分析工具
  • 苏州建设监督网站开封网站推广公司
  • 修改网站参数重庆关键词排名推广
  • 新乡商城网站建设价格网络营销策划推广
  • 移动网站模板中国网站排名
  • 免费下载设计素材网站如何建立网站
  • 谷歌云做网站怎么在百度推广自己的网站
  • 国字类型网站有哪些内容百度竞价排名软件
  • wordpress开启多站点模式深圳seo论坛
  • 大同市住房城乡建设网站百度seo关键词工具
  • 没有域名可以做网站sem竞价
  • 医疗服务网站素材班级优化大师学生版
  • 2022年10月国内最新新闻找索引擎seo
  • 义乌个人兼职做建设网站如何开发软件app
  • 网站建设和网络推广公众号推广渠道
  • 如何开科技seo关键词排名优化的方法
  • 个人网站可以做品牌推广百度电脑版
  • 有哪些做产品产业链分析的网站郑州网站建设推广有限公司
  • 网站前台后台哪个好兰州疫情最新情况
  • 咋么做进网站跳转加群seo实战技巧
  • php网站跟随导航工作手机
  • 自己提供域名做网站seo包年优化
  • 如何建立一个网站 供客户选图长沙seo优化推广
  • 培训网站大数据分析百度外推代发排名
  • 配件网站模板武汉seo群
  • vue做响应式网站淘宝关键词
  • 电商运营数据六大指标seo快速排名软件网址
  • 如何在本地搭建网站西安网站制作工作室