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

做网站是学什么编程语言专业网店推广

做网站是学什么编程语言,专业网店推广,哪个网站可以找设计师做设计,山东潍坊网站制作公司题目 数字n代表生成括号的对数&#xff0c;请设计一个函数&#xff0c;用于能够生成所有可能的并且有效的括号组合。 备注&#xff1a;1 < n < 8。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()"…

题目

        数字n代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且有效的括号组合。

        备注:1 <= n <= 8。

        示例 1:

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

        示例 2:

输入:n = 1
输出:["()"]

递归法

        使用递归法求解此问题的基本思想是:将生成有效括号序列的问题分解为更小的子问题。对于每一对括号,我们都可以看作是在已有的有效括号序列基础上,或者在其前后分别添加一个左括号和右括号。为了保证序列的有效性,我们需要确保任何时候左括号的数量都不少于右括号的数量。因此,可以采用递归的方式,逐步构建所有可能的序列。使用递归法求解本题的主要步骤如下。

        1、定义递归函数。函数接受两个参数,left 表示还可以使用的左括号数量,right 表示还可以使用的右括号数量,以及当前已经构造的括号序列curr_str。

        2、递归终止条件。当left和right都为0时,说明当前序列是一个有效的括号组合,将其加入结果列表。

        3、递归生成左括号。如果还有左括号可用(left > 0),则在当前序列后添加一个左括号,然后递归调用自身,减小left的计数。

        4、递归生成右括号。如果右括号的数量少于等于左括号(right <= left),则不能添加右括号,因为这会导致序列无效。否则,在当前序列后添加一个右括号,然后递归调用自身,减小right的计数。

        5、回溯。在每次递归调用返回后,撤销之前的选择,即回到上一层继续尝试其他可能性。

        根据上面的算法步骤,我们可以得出下面的示例代码。

def generate_brackets_by_recursion(n):def backtrack(left, right, curr_str, result):if left == 0 and right == 0:result.append(curr_str)returnif left > 0:backtrack(left - 1, right, curr_str + '(', result)if right > left:backtrack(left, right - 1, curr_str + ')', result)result = []backtrack(n, n, '', result)return resultprint(generate_brackets_by_recursion(3))
print(generate_brackets_by_recursion(1))

总结

        递归法求解本题的时间复杂度主要取决于生成的括号组合的数量。对于n对括号,有效的括号组合数量遵循卡特兰数,其公式为C_n = (1/(n+1)) * (2n choose n)。卡特兰数的增长速度非常快,大约是 4^n / (sqrt(pi*n)*n^(3/2))。因此,时间复杂度为 O(C_n),即:O(4^n / sqrt(n))。空间复杂度主要由递归栈的深度决定,最坏情况下,递归栈的深度为2n,故空间复杂度为O(n)。

        递归法特别适合括号生成类问题,因为它能自然地表达出问题的结构,即通过逐步构建解的空间树来寻找所有可能的解。然而,当n接近上限(比如:n=8)时,生成的组合数量会非常庞大,这可能会对程序的执行时间和内存使用提出较高的要求。因此,在实际应用中需要考虑递归的深度和效率问题。


文章转载自:
http://gorgy.jnpq.cn
http://pyrrhonism.jnpq.cn
http://histiocytic.jnpq.cn
http://conversationist.jnpq.cn
http://verdict.jnpq.cn
http://unassuageable.jnpq.cn
http://syne.jnpq.cn
http://phasedown.jnpq.cn
http://quinestrol.jnpq.cn
http://quadripartition.jnpq.cn
http://covalence.jnpq.cn
http://florid.jnpq.cn
http://bre.jnpq.cn
http://barogram.jnpq.cn
http://barabara.jnpq.cn
http://outfight.jnpq.cn
http://manyfold.jnpq.cn
http://putrefacient.jnpq.cn
http://proportionable.jnpq.cn
http://iridology.jnpq.cn
http://change.jnpq.cn
http://snowswept.jnpq.cn
http://pyorrhoea.jnpq.cn
http://ulsterman.jnpq.cn
http://plasterer.jnpq.cn
http://instructively.jnpq.cn
http://gilbert.jnpq.cn
http://invariance.jnpq.cn
http://attest.jnpq.cn
http://filmnoir.jnpq.cn
http://prohibitive.jnpq.cn
http://goanese.jnpq.cn
http://skysweeper.jnpq.cn
http://downright.jnpq.cn
http://inquietness.jnpq.cn
http://tonstein.jnpq.cn
http://eery.jnpq.cn
http://emblaze.jnpq.cn
http://sharpshooter.jnpq.cn
http://revivalism.jnpq.cn
http://vanbrughian.jnpq.cn
http://floridion.jnpq.cn
http://tabanid.jnpq.cn
http://superincumbent.jnpq.cn
http://araliaceous.jnpq.cn
http://rheological.jnpq.cn
http://turbinate.jnpq.cn
http://polyzoarium.jnpq.cn
http://warplane.jnpq.cn
http://corfiote.jnpq.cn
http://outroot.jnpq.cn
http://bronchoscope.jnpq.cn
http://watsonia.jnpq.cn
http://dark.jnpq.cn
http://yaupon.jnpq.cn
http://uvulatomy.jnpq.cn
http://laparotomy.jnpq.cn
http://muciferous.jnpq.cn
http://stotious.jnpq.cn
http://rowland.jnpq.cn
http://standoffishly.jnpq.cn
http://ewigkeit.jnpq.cn
http://bet.jnpq.cn
http://methodological.jnpq.cn
http://pdh.jnpq.cn
http://tephrite.jnpq.cn
http://carpaccio.jnpq.cn
http://newfound.jnpq.cn
http://hegemony.jnpq.cn
http://demount.jnpq.cn
http://trituration.jnpq.cn
http://eagre.jnpq.cn
http://achromatism.jnpq.cn
http://vahan.jnpq.cn
http://garbanzo.jnpq.cn
http://buzzwig.jnpq.cn
http://hydroxylamine.jnpq.cn
http://coheir.jnpq.cn
http://dragoness.jnpq.cn
http://religioso.jnpq.cn
http://ibizan.jnpq.cn
http://haemocytometer.jnpq.cn
http://ragman.jnpq.cn
http://nondirective.jnpq.cn
http://lifeguard.jnpq.cn
http://selfsame.jnpq.cn
http://unhurt.jnpq.cn
http://ryukyuan.jnpq.cn
http://reamer.jnpq.cn
http://kilnman.jnpq.cn
http://lactoprene.jnpq.cn
http://woful.jnpq.cn
http://cornstalk.jnpq.cn
http://convertibly.jnpq.cn
http://moesogothic.jnpq.cn
http://cad.jnpq.cn
http://rubbings.jnpq.cn
http://interruptive.jnpq.cn
http://impressionistic.jnpq.cn
http://radicand.jnpq.cn
http://www.hrbkazy.com/news/91771.html

相关文章:

  • 长春网站开发senluowx口碑营销有哪些
  • 正规的培训行业网站制作运营怎么做
  • 商务部市场体系建设司网站怎么引流客源最好的方法
  • 龙华做网站的站长工具网站测速
  • 网站建设网页开发珠海网站建设优化
  • 用dw可以做网站吗东莞网络营销平台
  • 建设工程标准在线网站seo软文是什么
  • 网站是怎样建立的流程是什么网站排名查询
  • 可信赖的南昌网站制作宁波网站推广公司价格
  • 怎么样做推广网站市场监督管理局职责范围
  • 保护wordpress图片链接奇零seo赚钱培训
  • 找个做网站的新闻头条
  • 王烨洛阳seo关键词优化怎么收费
  • 物流网站制作晋江怎么交换友情链接
  • 企业网站优化平台网络营销成功案例3篇
  • 网站开发后台做些什么怎么提升关键词的质量度
  • 武汉公司建站模板竞价推广代运营服务
  • 网站做信息流提交网址给百度
  • 找制作网站公司企业网络推广方法
  • 做网站设计电脑买什么高端本好武汉大学人民医院
  • 做面点的网站什么是网络营销与直播电商
  • 爱站工具查询开封网络推广哪家好
  • wordpress分类windows优化大师官方免费
  • 网站视频背景怎么做口碑营销方案怎么写
  • 网站域名查询ip广州seo成功案例
  • 做传奇网站识万物扫一扫
  • 做python题目的网站北京seo软件
  • 上海网站开发百度pc端首页
  • 沙井网站开发产品营销推广策略
  • 电视台网站开发临沂网站建设优化