leetcode 回溯算法_leetcode有效的括号

leetcode 回溯算法_leetcode有效的括号原题链接数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:[“((()))”,”(()())”,”(())()”,”()(())”,”()()()”]示例 2:输入:n = 1输出:[“()”] 提示:1 <= n <= 8题解回溯class Solution {public: vector<string>res; string t = “”; voi

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

示例 1:

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

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

提示:

1 <= n <= 8

题解
回溯

class Solution { 
   
public:
    vector<string>res;
    string t = "";
    void dfs(int u,int num,int len){ 
   
        if(u == len && num == len){ 
   
            res.push_back(t);
            return;
        }
        if(u < len){ 
   
            t.append(1,'(');
            dfs(u + 1,num,len);
            t.erase(t.size() - 1,1);
        }
        if(num < u){ 
   
            t.append(1,')');
            dfs(u,num + 1,len);
            t.erase(t.size() - 1,1);
        }
    }
    vector<string> generateParenthesis(int n) { 
   
        dfs(0,0,n);
        return res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168985.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VBS 刷屏代码[通俗易懂]

    VBS 刷屏代码[通俗易懂]刷屏代码VBSScript使用方法:复制需要转发的内容,点击QQ或者微信窗口,,再双击VBS脚本即可自动运行OnErrorResumeNextDimxda,yesetxda=createobject(“wscript.shell”)`循环次数fori=1to200`循环间隔时间wscript.sleep70xda.AppActivatexda.sendKeys”^v”xda.sendKeys”%s”nextwscript.quit…

    2022年6月9日
    260
  • deepinv2 添加打印机_【小教程】如何在deepin桌面操作系统中安装打印机「建议收藏」

    deepinv2 添加打印机_【小教程】如何在deepin桌面操作系统中安装打印机「建议收藏」原标题:【小教程】如何在deepin桌面操作系统中安装打印机简介:打印机(英语:Printer)或称作列印机、印表机,是一种电脑输出设备,可以将电脑内储存的数据按照文字或图形的方式永久的输出到纸张、透明胶片或其他平面媒介上。本文将介绍如何在深度操作系统上添加网络及本地打印机。准备工作:确保打印机已连接电源、网络并运行,如打印机需要安装驱动,需提前安装,无需安装打印驱动的,可直接配置,如下以佳能C…

    2022年10月21日
    2
  • Microsoft Platform SDK Febrary 2003 Edition 下载地址与下载方式「建议收藏」

    Microsoft Platform SDK Febrary 2003 Edition 下载地址与下载方式「建议收藏」今天上网找windowssdk,发现最新的SDK已经不支持vc6.0,在微软官方站下看到下面一段话。DevelopmentTools.TobuildtheC/C++samples,youmusthaveaC/C++compiler.IfyouareusingMicrosoftVisualC/C++®,runitatleastoncebe

    2022年5月23日
    40
  • 安捷伦(Agilent)示波器使用简介

    安捷伦(Agilent)示波器使用简介安捷伦示波器使用简介

    2022年10月12日
    2
  • mac配置vscodec语言环境_vscodejava环境变量配置

    mac配置vscodec语言环境_vscodejava环境变量配置登陆终端输入java-version查看java的版本输入java-verbose查看java的安装环境路径没有的话,自己去搜一下怎么安装java的jdk,记得选1.18版本安装路径在这里安装完jdk后,输入/usr/libexec/java_home-V查看jdk版本复习什么是JDKJavaDevelopmentKit开发工具包包含Java开发工具和JREjava开发工具:编译工具javac.exe,jar.exe打包工具等。JRE=JVM+javaS

    2022年10月3日
    4
  • java闰年_java 判断闰年

    java闰年_java 判断闰年题目:在l.jsp中,设置一个表单,可以输入年份,提交到另外一个action进行计算,如果算出来是闰年,那么就跳转到a1.jsp(显示闰年),如果是平年就跳转到a2.jsp(显示平年)。要求:需要把计算是否闰年的算法,封装到一个工具类Year中isLeap方法中。第一步:创建1.jsp页面,并跳到action.jsp请输入年份:如下图:第二步:封装year工具类创建一个class类,取名year…

    2022年7月17日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号