美文网首页
22.leetcode题目讲解(Python):括号生成

22.leetcode题目讲解(Python):括号生成

作者: 夏山闻汐 | 来源:发表于2018-10-02 11:52 被阅读82次

题目:


image.png

这道题目比较好的解法是回溯法,和暴力求解相比,回溯法的好处是仅当目前序列仍然有效的时候才继续生成子序列。
参考代码如下:

class Solution(object):
    def generateParenthesis(self, n):
        ans = []
        def backtrack(S = '', left = 0, right = 0):
            if len(S) == 2 * n:
                ans.append(S)
                return
            if left < n:
                backtrack(S+'(', left+1, right)
            if right < left:
                backtrack(S+')', left, right+1)

        backtrack()
        return ans

ps:如果您有好的建议,欢迎交流 :-D,也欢迎访问我的个人博客:tundrazone.com

相关文章

  • 22.leetcode题目讲解(Python):括号生成

    题目: 这道题目比较好的解法是回溯法,和暴力求解相比,回溯法的好处是仅当目前序列仍然有效的时候才继续生成子序列。参...

  • 2018-04-07

    Leetcode面试题 —— 生成括号 1 题目描述: 给出n代表生成括号的对数,请你写出一个能够生成...

  • 【leetcode】括号生成

    【leetcode】括号生成 题目: 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 ...

  • LeetCode-22-括号生成

    LeetCode-22-括号生成 题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且...

  • 【Python题目】括号匹配

    现在给你一个只包含括号""的字符串,问你至少加多少个字符是合法的,对于字符串合法的定义为: 字符串为空是合法的。 ...

  • leetcode22.括号生成

    题目链接 题目描述: 思路:递归 分析如下: 在生成括号组合的字符串时,最左边的一定是左括号。 什么时候可以生成右...

  • 20.leetcode题目讲解(Python):有效的括号

    题目如下所示: 这道题用栈的思想比较好解,我稍微加强了下(如使用了将符号映射为数字),可提高算法的效率(提交时基本...

  • 32.leetcode题目讲解(Python):最长有效括号

    题目: 解法1:通过使用栈来实现。遍历字符串,如果字符等于 "(",将该字符的索引放入栈中。如果字符等于")",首...

  • 要成功就做一百题-92

    题目名称 括号生成 描述 难度属于中等,目的是根据给定的括号数,生成有效的括号集合。 解题思路 这题比较有意思,这...

  • 动态规划:22.括号生成

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

网友评论

      本文标题:22.leetcode题目讲解(Python):括号生成

      本文链接:https://www.haomeiwen.com/subject/yunooftx.html