动态规划。。。
有待优化。。。
class Solution: def generateParenthesis(self, n: int) -> List[str]: if n==0: return [‘‘] if n==1: return [‘()‘] if n==2: return [‘(())‘,‘()()‘] memo={} memo[0]=[‘‘] memo[1]=[‘()‘] memo[2]=[‘(())‘,‘()()‘] for i in range(3,n+1): memo[i]=[] for j in range(len(memo[i-1])): for k in range(1,(i-1)**2): if memo[i-1][j][:k+1]+‘()‘+memo[i-1][j][k+1:] in memo[i]: continue else: memo[i].append(memo[i-1][j][:k+1]+‘()‘+memo[i-1][j][k+1:]) return memo[n]
原文:https://www.cnblogs.com/taoyuxin/p/11691143.html