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

Leecode hot100 - 22. 括号生成

题目描述

https://leetcode.cn/problems/generate-parentheses/description/?envType=problem-list-v2&envId=2cktkvj

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

示例 1:

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

输入:n = 1
输出:["()"]

提示:

  • 1 <= n <= 8

思路

所有可能,所有结果,想到回溯
回溯 + 组合型

枚举当前位置填左括号还是右括号
从2n个位置中选n个位置放左括号,其余放右括号
选,放左括号;不选,放右括号

代码

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        m = n*2
        res = []
        path = [''] * m
        # i是当前的位置,open是左括号的位置
        def dfs(i, open):
            # 先写递归结束的条件
            if i == m:
                res.append(''.join(path))
                return
            # 当左括号的数量还没达到一半时
            if open < n:
                path[i] = '('
                dfs(i+1, open+1)
            # 当右括号数量小于左括号时
            if i - open < open:
                path[i] = ')'
                dfs(i+1, open)
        dfs(0, 0)
        return res

复杂度分析

空间复杂度:O(n)。返回值的空间不计入。

http://www.dtcms.com/a/412123.html

相关文章:

  • 【复习】计网每日一题--随机访问
  • [NeurIPS‘25] AI infra / ML sys 论文(解析)合集
  • 网站案例展示2k屏幕的网站怎么做
  • 南宁手机建站模板做网站的作品思路及步骤
  • 太白 网站建设百度显示网站名
  • 网站服务器的选择h5 WordPress
  • 阿里最新开源Wan2.2-Animate-14B 本地部署教程:统一双模态框架,MoE架构赋能电影级角色动画与替换
  • iree的编译
  • 学生制作网站建设 维护wordpress文章怎么生成标签
  • 专业企业网站建设定制wordpress微信分享图片不显示图片
  • 陕煤化建设集团网站云南建设网站首页
  • 网站在线留言系统如何进入网站管理员界面
  • 网站免费模块kloxo网站压缩
  • 烟台制作网站的公司哪家好软件开发面试问题大全及答案大全
  • typeid学习
  • 自动识别快递,查询单号自动查询物流快递全部详情
  • daily notes[55]
  • 如何创办一个赚钱的网站谷歌推广新手教程
  • 软件测试技术实验报告
  • wordpress中文语言包下载整站seo排名要多少钱
  • 860. 柠檬水找零
  • 协会网站建设模板开发者账号注册流程
  • 企业seo网站推广小程序制作网站
  • 因果推断中的d-分离图模型
  • Markdown 完整使用指南
  • 深度解析Docusaurus:现代化静态站点生成器的技术架构与创新实践
  • rgb565和rgb565A8的区别
  • 2023免费网站推广wordpress模板最新
  • 视频网站文案开网站需要什么流程
  • 单仁资讯做网站怎样网站商城与网站区别吗