|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
专辑说明 每日废话:欢迎大家在本帖讨论,提供思路,热闹论坛环境
今天的题目:
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
请按照模板(来自力扣 - leetcode),模板见下
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]
欢迎大家来答题
模板(对,我直接摆烂原封不动的复制了模板  ): - class Solution:
- def generateParenthesis(self, n: int) -> List[str]:
- <代码内容>
- return <答案>
复制代码
自己写的参考答案(不要抄袭,不要白嫖):
本帖最后由 ba21 于 2022-8-16 14:44 编辑
这题 查了下次料,不得不说用递归是最有效的方法。
也传个效率比效高的方法
- def generateParenthesis(n):
- allLst = [['']]
- for i in range(1, n+1):
- tmp = []
- for j in range(i):
- for left in allLst[j]:
- for right in allLst[i-1-j]:
- tmp.append('('+left+')'+right)
- allLst.append(tmp)
- return allLst[n]
复制代码
|
|