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

岳阳做网站推荐网页设计班级网站怎么做

岳阳做网站推荐,网页设计班级网站怎么做,重庆seo优化效果好,营销型外贸网站广州文章目录 题目链接解题思路解题代码 题目链接 22. 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:[“((()))”,“(()())”,“(())()…

文章目录

  • 题目链接
  • 解题思路
  • 解题代码


题目链接

22. 括号生成

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

示例 1:
输入:n = 3
输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]

示例 2:
输入:n = 1
输出:[“()”]

解题思路

下面我们根据回溯算法三步走,写出对应的回溯算法。

明确所有选择:括号组合中的每个位置,都可以从 ( 或者 ) 中选出。并且,只有在 symbol < n 的时候,才能选择 (,在 symbol > 0 的时候,才能选择 )。
明确终止条件:当遍历到决策树的叶子节点时,就终止了。即当前路径搜索到末尾时,递归终止。
将决策树和终止条件翻译成代码:

  • 定义回溯函数:
    • backtracking(symbol, index): 函数的传入参数是 symbol(用于表示是否当前组合是否成对匹配),index(当前元素下标),全局变量是 parentheses(用于保存所有有效的括号组合),parenthesis(当前括号组合)。
    • backtracking(symbol, index) 函数代表的含义是:递归根据 symbol,在 ( 和 ) 中选择第 index 个元素。
  • 书写回溯函数主体(给出选择元素、递归搜索、撤销选择部分)。
    • 从当前正在考虑元素,到第 2 * n 个元素为止,枚举出所有可选的元素。对于每一个可选元素:
      • 约束条件:symbol < n 或者 symbol > 0。
      • 选择元素:将其添加到当前括号组合 parenthesis 中。
      • 递归搜索:在选择该元素的情况下,继续递归选择剩下元素。
      • 撤销选择:将该元素从当前括号组合 parenthesis 中移除。
if symbol < n:parenthesis.append('(')backtrack(symbol + 1, index + 1)parenthesis.pop()
if symbol > 0:parenthesis.append(')')backtrack(symbol - 1, index + 1)parenthesis.pop()
  • 明确递归终止条件(给出递归终止条件,以及递归终止时的处理方法)。
    • 当遍历到决策树的叶子节点时,就终止了。也就是当 index == 2 * n 时,递归停止。
    • 并且在 symbol == 0 时,当前组合才是有效的,此时将其加入到最终答案数组中。

解题代码

class Solution:def generateParenthesis(self, n: int) -> List[str]:parentheses = []parenthesis = []def backtrack(symbol, index):if n * 2 == index:if symbol == 0:parentheses.append("".join(parenthesis))else:if symbol < n:parenthesis.append('(')backtrack(symbol + 1, index + 1)parenthesis.pop()if symbol > 0:parenthesis.append(')')backtrack(symbol - 1, index + 1)parenthesis.pop()backtrack(0, 0)return parentheses

参考资料:datawhalechina

http://www.hyszgw.com/news/70637/

相关文章:

  • 江苏省建设部官方网站少儿编程课程收费标准
  • 百度提交网站已删内容asp网站 并发数
  • 郑州网站建设兼职做网站赚钱 知乎
  • 论坛网站有哪些大专网页设计实训报告
  • 个人做discuz网站备案适合大学生浏览的网站
  • 做网站设计需要多少钱我国大宗商品交易所
  • 亚马逊欧洲站vat怎么申请那些做电影视频网站的赚钱吗
  • 网站分站如何做营销型网站头部布局的元素
  • 网站开发登录要做哪些验证哪种是网页制作的工具
  • php做网站实例dw自己做网站需要什么意思
  • 东方财富网官方网站首页网站seo平台
  • 机器设备行业网站模板应用软件是指什么
  • 手机网站输入框定制建站 app建设
  • 做搜狗网站优化点在网站中添加百度地图
  • 网站内如何做论坛建设注册中心网站首页
  • 个人与公司网站备案链接地址
  • 厦门市建设局查询保障摇号网站好的app制作公司
  • 河南省住房和城乡建设厅网站确认书网站建设企业网站怎么做
  • 江苏省电力建设质量监督中心站网站徐州建设工程交易
  • 网站开发公司需要投入什么资源只做汽车的网站
  • 做外汇可以参考的网站关于色彩搭配的网站
  • 中国机械网站网站建设客户问到的问题
  • 中国建设银行招聘信息网站安阳网站建设方案
  • 济南君哲网站建设公司校园生活网页设计
  • 报关做业务可以上哪些网站建设个人网站的要求
  • 女頻做的最好的网站企业网站修改流程
  • 爱站工具想说超人下拉系统搜索引擎营销主要方法包括
  • 伊川县住房和城乡建设厅网站宿迁网站建设哪家最好
  • 没有网站怎样做外贸百度小程序 wordpress
  • 网站文件大小深圳公众号小程序开发公司