括号生成

作者: _阿南_ | 来源:发表于2020-04-09 14:02 被阅读0次

题目:

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

示例:
输入:n = 3
输出:[
       "((()))",
       "(()())",
       "(())()",
       "()(())",
       "()()()"
     ]

题目的理解:

写成当n为1,2,3,4后,总结出规律为 f(3) = f(1) * f(2) + f(1)中间插入f(2)。使用递归就可以实现逻辑。

python实现

from typing import List

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:

        self.processing = dict()

        def recursion(num: int) -> set:
            if 1 == num:
                return {'()'}

            if num in self.processing.keys():
                return self.processing[num]

            temp_set = set()
            for index in range(1, num):
                left = recursion(index)
                right = recursion(num - index)

                for item1 in left:
                    for item2 in right:
                        half = len(item1) // 2
                        item3 = item1[:half] + item2 + item1[half:]

                        temp_set.add(item1 + item2)
                        temp_set.add(item3)
            self.processing[num] = temp_set

            return temp_set

        return list(recursion(n))

想看最优解法移步此处

提交

ok

难得一次通过,看着很难的题目,当发现规律后还是很清晰的。

// END 每天过的开心,做自己喜欢做的事

相关文章

  • LeetCode-22. 括号生成

    参考:第7课-泛型递归、树的递归 LeetCode-22. 括号生成 22. 括号生成 数字 n 代表生成括号的对...

  • HJ77 火车进站

     火车进站问题等同于括号生成[1]。 BM60 括号生成。 给出n对括号,请编写一个函数来生成所有的由n对括号组成...

  • 括号生成 (有效括号)

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

  • 括号生成

    给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3...

  • 括号生成

    描述:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n ...

  • 括号生成

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/gene...

  • 括号生成

    题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n ...

  • 括号生成

    题目需求 /*** 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。* ...

  • 生成括号

    版权声明:本文为博主原创文章,转载请注明出处。个人博客地址:https://yangyuanlin.club欢迎来...

  • 括号生成

    题目描述:  给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 解题思路...

网友评论

    本文标题:括号生成

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