leetcode 回溯算法_java生成带括号的数学题

leetcode 回溯算法_java生成带括号的数学题原题链接数字 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;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169164.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mktime()函数使用「建议收藏」

    mktime()函数使用「建议收藏」原型:time_tmktime(structtm*)其中的tm结构体定义如下:structtm{inttm_sec;/*秒–取值区间为[0,59]*/inttm_min

  • 谷歌浏览器油猴插件安装教程(超详细),让你的浏览器更加强大[通俗易懂]

    谷歌浏览器油猴插件安装教程(超详细),让你的浏览器更加强大[通俗易懂]什么是扩展程序首先,你要知道油猴是什么的话,那你就必须知道谷歌浏览器的扩展程序是什么?点解浏览器右上角–>更多工具–>扩展程序,进入我们的扩展程序界面,在这里可以看到我们已经安装的扩展程序。那么扩展程序可以做什么呢?举个例子,像我安装的Infinity新标签页,就可以实现以下功能,将浏览器原本的新标签页样式变成这个样子那么油猴是干什么的呢其实,油猴就是属于我们上面说的扩…

  • SqlSessionFactory和SqlSessionTemplate[通俗易懂]

    SqlSessionFactory和SqlSessionTemplate[通俗易懂]文章目录SqlSessionFactorySqlSessionTemplateSqlSession参考文章链接:全网最通俗易懂理清mybatis中SqlSession、SqlSessionTemplate、SessionFactory和SqlSessionFactoryBean之间的关系Mybatis:了解SqlSessionTemplatemybatis中SqlSessionTemplate的理解SqlSessionFactory是什么?SqlSe…

  • Android程序员的进阶之路

    Android程序员的进阶之路本文主要论述的是android程序员的进阶之路,博主本人就是一名android开发攻城狮,所以这里讲述的大多数是android开发攻城狮的技术进阶之路,如有问题请多指正。大家都知道程序员之中有有菜鸟程序员和大神之分,这里我这暂时把android程序员分为几个层次:android初级程序员、android中级程序员、android高级程序员、android技术专家、CTO等等,不同的级别掌握的能力不

  • Eclipse汉化教程2021新版

    Eclipse汉化教程2021新版Eclipse汉化教程Eclipse汉化教程确定Eclipse的版本方法一:打开eclipse,在启动画面中可以看到eclipse的版本名称(我的版本是2021-6),记住这个版本的名称;方法二:在Eclipse启动后,点击菜单栏中的Help(帮助)>>AboutEclipse(关于EclipseIDE)会弹出的AboutEclipse窗口,在这里也可以找到当前Eclipse的版本名称和版本号(Photon4.8.0);下载汉化包1.到Eclipse的官网上下

  • centos7 top命令_top命令查看cpu使用率超过100%

    centos7 top命令_top命令查看cpu使用率超过100%top命令Linuxtop命令用于实时显示process的动态。top参数详解第一行,任务队列信息**系统当前时间:**13:52:56**系统开机后到现在的总运行时间:**up66

发表回复

您的电子邮箱地址不会被公开。

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