【LeetCode】22. 括号生成

1 问题

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

示例 1:

输入:n = 3

输出:"((()))","(()())","(())()","()(())","()()()"

示例 2:

输入:n = 1

输出:"()"

2 答案

这题直接不会

官方解利用回溯算法

深度优先遍历

python 复制代码
class Solution:
    def generateParenthesis(self, n: int) -> List[str]:

        res = []
        cur_str = ''

        def dfs(cur_str, left, right):
            if left ==0 and right == 0:
                res.append(cur_str)
                return
            if left > right:
                return
            if left > 0:
                dfs(cur_str+'(', left-1, right)
            if right > 0:
                dfs(cur_str+')', left, right-1)

        dfs(cur_str, n, n)
        return res
相关推荐
Q一件事5 小时前
RWEQ——保留与消去P的soil_loss联合推导
算法
HugoStudio_SWAN5 小时前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
那年窗外下的雪.5 小时前
AIDC 学习日志|第 20 天|多归属业务验收与哈希不均定位
学习·算法·哈希算法
s_w.h7 小时前
【 刷题 】双指针
算法
啥都想学点的研究生7 小时前
一篇文章讲清楚:K-Means聚类算法
算法·kmeans·聚类
白狐_7987 小时前
408 数据结构|KMP做题方法:next、nextval和高频易错点
数据结构·算法
月华路7 小时前
《模型不玄学》第20章 两种评估视角
人工智能·算法·机器学习
禹凕7 小时前
快速幂算法详解与实战
python·算法
xxwl5857 小时前
高斯消元法异或版
人工智能·算法·机器学习