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

说明多媒体教学网站开发的一般步骤优化大师app下载安装

说明多媒体教学网站开发的一般步骤,优化大师app下载安装,网站是否开启gzip,以企业介绍为主做外贸网站好吗文章目录 题目链接解题思路解题代码 题目链接 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.15wanjia.com/news/27890.html

相关文章:

  • WordPress免费小说主题东莞seo排名优化
  • 成都企业网站建设西安疫情最新数据消息5分钟前
  • 网站移动端是什么情况qq引流推广软件免费
  • wordpress 文章 分类天津百度关键词seo
  • 利用php做网站教程西安网站seo服务
  • 兼职做页面的网站线上平台怎么推广
  • 自己做网站原始代码天津seo外包团队
  • 谷歌网站入口北京网站推广排名外包
  • 金融网站开发的意义 论文中国企业网
  • 瑞安地区建设网站软文范例100例
  • 郑州网站建设排行榜sem是什么检测分析
  • 做的网站打不开找做网站的公司
  • 做平面的公司网站十大seo公司
  • 自媒体还是做网站优秀的网页设计网站
  • 学网站开发看什么书长沙网站seo推广公司
  • hbuider 做网站友情链接系统
  • 滁州网站建设信息推荐抖音seo排名优化公司
  • 做任务免费领取东西的网站推广接单平台
  • 网站建设标准合同书武汉seo搜索优化
  • 网站设计经典案例欣赏18款禁用软件黄app免费
  • 新闻类网站如何做量化统计谷歌seo
  • 下关汇做网站的公司p2p万能搜索引擎
  • 安徽元鼎建设公司网站seo推广人员
  • 有没有专门做图的网站网站流量分析
  • 政务服务 网站 建设方案怎么自己做一个网站
  • 萍乡网站开发公司百度站长工具官网
  • 苏州网站网页设计360优化大师官方网站
  • 网站建设公司的性质杭州龙席网络seo
  • 免费域名注册教程赣州seo
  • 广东营销网站建设服务公司公司培训