【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

相关推荐
jr-create(•̀⌄•́)16 小时前
正则化和优化算法区别
pytorch·深度学习·神经网络·算法
北山有鸟16 小时前
【学习笔记】MIPI CSI-2 协议全解析:从底层封包到像素解析
linux·驱动开发·笔记·学习·相机
mounter62516 小时前
深度解析:Linux 内核为何要移除“直接映射” (Direct Map)?
linux·运维·服务器·security·linux kernel·direct mem map
li星野17 小时前
刷题:数组
数据结构·算法
bugu___17 小时前
Linux系统、网络知识点回顾1
linux·网络
tankeven17 小时前
HJ182 画展布置
c++·算法
keyipatience19 小时前
7.Linux1权限-开发工具
linux
CS_Zero19 小时前
无人机路径规划算法——EGO-planner建模总结—— EGO-planner 论文笔记(一)
论文阅读·算法·无人机
杰梵19 小时前
聚酯切片DSC热分析应用报告
人工智能·算法
@BangBang19 小时前
leetcode (4): 连通域/岛屿问题
算法·leetcode·深度优先