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

桂林网站建设找骏程wordpress优化加速缓存中国

桂林网站建设找骏程,wordpress优化加速缓存中国,怎么制作小视频,wordpress模块咋编辑文章目录 题目链接解题思路解题代码 题目链接 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.yayakq.cn/news/416088/

相关文章:

  • 移动端手机网站模板下载卖域名出去客户犯法怎么办
  • 门户网站怎么创建网站做推广应该如何来做呢哪里推广
  • 网站技术可行性学院网站建设流程图
  • 网站开发的项目总结承德最新大新闻
  • 网站建设办什么手续百度网址大全下载到桌面
  • 最好加盟网站建设网站图片优化的概念
  • 烟台模板建站代理上海青浦网站建设公司
  • 上海网站设计价vps云主机可以做网站
  • 河北制作网站模板建站公司codewars网站
  • 合肥网站建设策划方案会员注册系统源码wordpress
  • 对重庆电子政务网站建设评价网站app开发公司
  • 云南网站优化建站池州集团网站建设
  • 泗阳做网站设计陕西省水利厅网站建设与管理处
  • 扬州网站建设兼职专业做网站建
  • 促销礼品网站建设h5长图怎么做
  • 说说网站建设百度收录减少问题seo短视频新地址在哪里
  • 湘潭做网站公司多语言网站怎么实现的
  • 某服装企业网站建设方案亚马逊新店投广告是免费的吗
  • 知名外贸网站建设公司iis 怎么绑定网站二级目录
  • 河南建设工程信息网站做个网站得投入多少
  • php导航网站如何用云服务器建设网站
  • 做国外购物网站怎么做旅游网站推广
  • 湖北微网站建设费用自动化培训机构排名
  • 福建住房和城乡建设厅网站为什么百度没有收录我的网站
  • 搜狐快站建站高端网络建站
  • 重庆做网站 哪个好些嘛一个企业官网大概需要多少钱
  • WordPress建站维护服务wordpress 点击图片放大
  • 网站换源码如何保留以前的文章怎么免费创造自己的网址
  • 网站改域名备案晚上正能量网站大全
  • 网站服务器在成都建筑设计有限公司