首页 > 编程语言 >括号生成--Python解法

括号生成--Python解法

时间:2023-05-13 22:06:05浏览次数:38  
标签:right cur 括号 -- dfs Python str left

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。例如n = 1,输出:["()"]

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        res=[]
        cur_str=''
        def dfs(cur_str,left,right):
            '''
            cur_str:根节点到叶子节点路径的字符串
            left:可用的左括号数
            right:可用的右括号数
            '''
            if left==0 and right==0:res.append(cur_str)
            if right<left:return
            if left>0:dfs(cur_str+'(',left-1,right)
            if right>0:dfs(cur_str+')',left,right-1)
        dfs(cur_str,n,n)
        return res

标签:right,cur,括号,--,dfs,Python,str,left
From: https://blog.51cto.com/u_15944471/6273811

相关文章

  • Netty 爱好者必看!一文详解 ChannelHandler 家族,助你快速掌握 Netty 开发技巧!
    1Channel接口的生命周期Channel定义了一组和ChannelInboundHandlerAPI密切相关的简单但功能强大的状态模型1.1Channel的状态状态描述ChannelUnregisteredChannel已经被创建,但还未注册到EventLoopChannelRegisteredChannel已经被注册到了EventLoopChannelActiveChanne......
  • Windows7操作系统的安全与配置
    一:介绍Windows7是微软于2009年发布的,开始支持触控技术的Windows桌面操作系统,其内核版本号为NT6.1在Windows7中,集成了DirectX11和InternetExplorer8。DirectX11作为3D图形的接口,不仅支持未来的DX11硬件,还向下兼容当前的DirectX10和10.1硬件。DirectX11增加了新的计算Shader技术,可以......
  • 折叠屏应用快人半步,搜狐引领新闻体验再升级
    随着折叠屏手机越来越成熟,普及度也越来越大。折叠屏是一种全新的产品形态,用户使用习惯在变,内容的呈现形式也要随之而变。如何正确地打开“折叠的内容”?搜狐新闻与头部手机厂商合作,创新了一系列玩法,让折叠屏手机有了更多的实用价值。在新闻这场马拉松长跑中,搜狐新闻又抢跑了半个身位......
  • 线程的创建和使用
    线程的创建和使用Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现Thread类的特性每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体通过该Thread对象的start()方法来启动这个线程,而非直接调用run()Thread类......
  • 求职的坑,踩不完,根本踩不完
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!说起求职路上踩过的坑,想必有很多人有话要说。咱们今天就来盘点盘点那些咱们踩过的或深或浅的坑。求职前:(1)没有明确的职业规划学长也经历过本科应届一股脑投简历的时候,当时真的是......
  • 就业内推 | 上市公司招高级网工,HCIE/CCIE证书优先,最高35k
    01中软国际招聘岗位:中高级网络工程师职责描述:1、负责华为数通产品(交换机、路由器、WLAN)、安全产品(防火墙、入侵检测、AntiDDoS硬件设备等)项目售后实施,主要包括设备版本补丁升级、设备安装调测、业务割接上线、项目验收等;2、负责客户网络故障维护处理,设备巡检,版本整改等工作;3、负责......
  • Python 的常见库
    Python是一种广泛使用的编程语言,有很多强大的库可以帮助开发人员实现各种任务。以下是一些常见的Python库:NumPy:一个用于数值计算的库,提供了高效的数组操作和数学函数。Pandas:一个用于数据分析和操作的库,提供了数据结构和函数,可以方便地处理和分析数据。Matplotlib:一个用于数据可视......
  • es笔记一之es安装与介绍
    本文首发于公众号:Hunter后端原文链接:es笔记一之es安装与介绍首先介绍一下es,全名为Elasticsearch,它定义上不是一种数据库,是一种搜索引擎。我们可以把海量数据都放到es里然后提供搜索操作,但是MySQL也同样可以提供搜索,为什么要用es呢?一个是因为它搜索快,使用倒排索引的方......
  • 【按文分图工个】可以根据图片中的文字来批量自动分类的软件
    9-4在有些日常工作中,经常会接收到某种类型的非常多的图片,然后要按图片上的文字,对这些图片做分类,比如水印机机拍的、环卫工人巡街拍的、甚至是卫星拍的图片,就有不少特定特征的文字,可以用本文章的方法,通过区分图片上文字的方法,快速分类。比如下面的图,图片非常多,是来自卫星图像处理的......
  • 记录路由和源站路由实验(GNS3 + wireshark)
    实验目标1.认识IP记录路由的过程。2.抓包分析严格源站路由3.抓包分析宽松源站路由实验任务1.配置三台路由器,给每个路由器端口配置IP,在路由器R3上配置一个环回口3.3.3.3,使用扩展ping让R1ping3.3.3.3,抓包分析IP记录路由过程。2.配置5台路由器,让其中有环路,配置好OSPF路由协议。......