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

LeetCode.22。括号生成

题目描述:

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

输入输出实例:

思路:对于这道题目我们可以用回溯法,创建一个函数backtrack(当前字符,左括号数量,右括号数量),这个函数用来递归生成所有的括号组成可能。我们先前创立一个空列表,在backtrack递归过程中满足条件的我们放到列表中,最后返回列表。

在backtrack中,如果当前的字符组成满足长度等于2*n的时候,我们得到一个有效的括号组成,将其加到ans列表;如果当前左括号比n少,我们继续添加左括号;如果当前右括号比左括号少,我们添加右括号。

比如当n==2时候,我们先是添加一个左括号->再添加左括号->再添加右括号->再添加右括号->满足条件将‘(())'存入ans。然后返回到'('尝试添加右括号(即'()')->再添加左括号->再添加右括号->将’()()‘存入ans->递归结束,return ans

class Solution:def generateParenthesis(self, n: int) -> List[str]:#构建函数backtrack用来构建有效括号组合def backtrack(s:str,left:int,right:int):#达到目标长度放入if len(s) == 2*n:ans.append(s)return#左括号数量不够可加左括号if left < n :backtrack(s+'(',left+1,right)#右括号不足加右括号if right < left :backtrack(s+')',left,right+1)ans = []backtrack('',0,0)return ans

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++观察者模式:订阅博主~
  • 2024-08-05升级问题:Android中ScrollView嵌套listview并解决listview显示问题
  • 在Ubuntu 16.04上安装Jenkins的方法
  • 第N8周:使用Word2vec实现文本分类
  • [000-01-018].第3节:Linux环境下ElasticSearch环境搭建
  • C语言:for、while、do-while循环语句
  • Android系统架构
  • Spring 声明式事务 @Transactional
  • 【STM32单片机_(HAL库)】3-2-3【中断EXTI】【电动车报警器项目】433M无线收发模块实验
  • 【LeetCode热题100】滑动窗口
  • Spring MVC中获取请求参数的方式
  • leetcode_55. 跳跃游戏
  • 【杂乱算法】七种常见的排序
  • 如何使用unittest和pytest进行python脚本的单元测试
  • 计算机储存单位换算:1KB等于多少GB
  • [译] React v16.8: 含有Hooks的版本
  • 5、React组件事件详解
  • express如何解决request entity too large问题
  • laravel5.5 视图共享数据
  • Linux gpio口使用方法
  • React 快速上手 - 07 前端路由 react-router
  • tensorflow学习笔记3——MNIST应用篇
  • Theano - 导数
  • Vue实战(四)登录/注册页的实现
  • 多线程事务回滚
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 给Prometheus造假数据的方法
  • 技术:超级实用的电脑小技巧
  • 坑!为什么View.startAnimation不起作用?
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何用vue打造一个移动端音乐播放器
  • 线上 python http server profile 实践
  • 协程
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • FaaS 的简单实践
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (C++17) optional的使用
  • (day18) leetcode 204.计数质数
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)springcloud实战之config配置中心
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (回溯) LeetCode 46. 全排列
  • (转)Linux整合apache和tomcat构建Web服务器
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net Application的目录
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net 调用php,php 调用.net com组件 --
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .Net的DataSet直接与SQL2005交互
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .NET业务框架的构建
  • .net与java建立WebService再互相调用
  • .考试倒计时43天!来提分啦!