LEETCODE | PYTHON | 22 | 括号生成
1. 题目
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/first-letter-to-appear-twice
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2.代码
class Solution:
def generateParenthesis(self, n: int) -> List[str]:
#初始化
dp = [[] for i in range(n+1)]
dp[0] = ['']
#动态规划生成
for i in range(1,n+1):
for p in range(i):
left = dp[p]
right = dp[i-p-1]
for j in left:
for k in right:
dp[i].append('('+j+')'+k)
return dp[-1]