首页 > 其他 > 详细

leetcode——22. 括号生成

时间:2019-10-17 11:58:35      阅读:53      评论:0      收藏:0      [点我收藏+]

动态规划。。。

有待优化。。。

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]
执行用时 :288 ms, 在所有 python3 提交中击败了5.37%的用户
内存消耗 :13.8 MB, 在所有 python3 提交中击败了5.27%的用户
 
                                                                                ——2019.10.17

leetcode——22. 括号生成

原文:https://www.cnblogs.com/taoyuxin/p/11691143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!