Python:【新】每日一题 5
专辑说明 每日废话:欢迎大家在本帖讨论,提供思路,热闹论坛环境今天的题目:
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
请按照模板(来自力扣 - leetcode),模板见下
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]输入:n = 1
输出:["()"]
欢迎大家来答题{:10_298:}
模板(对,我直接摆烂原封不动的复制了模板{:10_245:} ):class Solution:
def generateParenthesis(self, n: int) -> List:
<代码内容>
return <答案>
自己写的参考答案(不要抄袭,不要白嫖):**** Hidden Message *****
来源:力扣(LeetCode)(https://leetcode.cn/problems/generate-parentheses/) {:5_90:} {:10_266:} liuzhengyuan 发表于 2022-8-15 21:04
完了 凉了 本帖最后由 ba21 于 2022-8-15 23:13 编辑
使用循环实现,对比答案,3个没问题 ,后面不正确,再整理看看是否能用循环实现。 本帖最后由 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:
for right in allLst:
tmp.append('('+left+')'+right)
allLst.append(tmp)
return allLst
{:5_108:} 本帖最后由 liuzhengyuan 于 2022-8-16 23:13 编辑
ba21 发表于 2022-8-16 13:45
这题 查了下次料,不得不说用递归是最有效的方法。
也传个效率比效高的方法
力扣上有动态规划解法 1
页:
[1]