【LeetCode】括号生成

目录


一、题目

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

示例 1:

输入:n = 3

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

示例 2:

输入:n = 1

输出:"()"

提示:

1 <= n <= 8


二、解法

回溯,优先放置左括号,两个边界条件,一个是正常的,即左右都放完了,还有一个是异常的,也就是左边剩余的比右边多,直接return就好了


完整代码

python 复制代码
class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        res = []
        path = ''
        def backtrack(left, right, path):
            if left > right:
                return
            if left == right == 0:
                return res.append(path)
            if left:
                backtrack(left - 1, right, path + '(')
            if right:
                backtrack(left, right - 1, path + ')')
        backtrack(n, n, '')
        return res

相关推荐
hi_ro_a11 分钟前
基于正倒排索引的boost搜索引擎
linux·c++·搜索引擎·项目
有Li16 分钟前
【AI答疑】MR数据预处理步骤
人工智能·笔记·算法·语言模型·医学生
GG-_-Bond28 分钟前
9.1kv存储持久化模拟面试
linux·c语言·数据结构·c++
盛世宏博北京40 分钟前
多传感器数据融合算法:实现档案库房温湿度全域无死角监测
算法·档案温湿度
Dola_Zou1 小时前
Linux工控机核心算法防逆向与自动化加固方案
linux·自动化·软件加密
欧米欧1 小时前
解析Linux从umask位运算到粘滞位
linux
AgentMaster1 小时前
零售行业智能客服系统怎么选?3 大场景落地与 4 款平台对比实践
大数据·人工智能·算法
Nil2082 小时前
leetcode 394字符串解码
leetcode
江屿风2 小时前
【Linux系统】【Linux进程终止等待详解与程序替换机制初体验】流食般投喂
linux·运维·笔记·系统架构·centos·unix
远航计算机2 小时前
客服记录怎么变成 AI 会引用的内容?五步清洗法
大数据·人工智能·算法·aigc