当前位置: 首页 > article >正文

leetcode hot100 括号生成

22. 括号生成

已解答

中等

相关标签

相关企业

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合

class Solution(object):

    def generateParenthesis(self, n):

        """

        :type n: int

        :rtype: List[str]

        """

        self.ret=[]

        def dfs(count_left,count_right,current):

            if count_left==n and count_right==n:

                self.ret.append( current)

                return

            if count_left<=n:

                current +="("

                dfs(count_left+1,count_right,current)

                current = current[:-1]

           

            if count_right<count_left:

                current +=")"

                dfs(count_left,count_right+1,current)

                current = current[:-1]

        dfs(0,0,"")

        return self.ret



 

        # if n==0:

        #     return []

        # if n==1:

        #     return ["()"]

        # ret = []

        # ret.append([""])

        # ret.append(["()"])

        # for i in range(2,n+1):

        #     ret_t=[]

        #     for j in range(i):

        #         # print(ret)

        #         x = ret[j]

        #         y = ret[i-j-1]

        #         # ret_t=[]

        #         for k1 in x:

        #             for k2 in y:

        #                 ret_t.append("("+k1+")"+k2)

               

        #     # ret_tt+=ret_t

       

        #     ret.append(ret_t)

               

        # return ret[-1]

这个就是两种方法

一:看做二叉树,dfs遍历一遍,左右分别是括号两边,寻找的条件是左括号不超过n,有括号比左括号少,知道匹配

二:动态规划,最左边的括号一定是(,这样f(n)可以递归为 (f(i))+f(n-1-i)


http://www.kler.cn/a/456846.html

相关文章:

  • rem em rpx px vw的区别
  • uniapp 微信小程序开发使用高德地图、腾讯地图
  • 云手机:小红书矩阵搭建方案
  • 03、Spring 声明式事务
  • 数据库概念(MySQL第一期)
  • 遗传算法与深度学习实战(29)——编码卷积自编码器架构
  • 实战ubuntu22.04 软raid查看命令
  • 【AI学习】DeepSeek-V3 技术报告学习:总体架构
  • pugixml XML配置文件 的增删改查
  • Qt中QWidget自定义形状
  • 基于Spring Boot的个人健康管理系统
  • 数据库课程设计-工资管理系统-MySQL
  • Gateway Timeout504 网关超时的完美解决方法
  • 自动化测试启动chrome debug模式
  • Elasticsearch检索方案之一:使用from+size实现分页
  • 基于Oauth2的SSO单点登录---前端
  • .NET周刊【12月第3期 2024-12-15】
  • 深入解析Android Framework中的android.location包:架构设计、设计模式与系统定制
  • TensorFlow深度学习实战(2)——使用TensorFlow构建神经网络
  • 一篇文章了解 Kafka
  • 深度学习训练过程图表可视化工具总结
  • Python+Django 技术实现自动化漏洞扫描系统开发
  • Java 网络原理 ①-IO多路复用 || 自定义协议 || XML || JSON
  • DP之背包基础
  • 出海隐私合规解决方案,一文助力中企合规出海
  • Docker安装MongoDB