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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Nhibernate]sqlite数据库基本使用

    [Nhibernate]sqlite数据库基本使用

    2021年9月2日
    54
  • QtreeView 树形结构「建议收藏」

    QtreeView 树形结构「建议收藏」QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点)。1.QStandardItemModel在QTreeView中的使用使用QTreeView的对应模型是QStandardItemModel,这个是Qt对应ui界面最有用的模型,…

    2022年6月4日
    35
  • outputstream转byte数组_int类型转换为byte类型

    outputstream转byte数组_int类型转换为byte类型Java中将inputstream输入流转换成byte[]字节数组Java中的I/O机制都是基于数据流进行输入和输出的,将流转换成字节数组保存下来是数据流传输必不可少的一部分。转换的代码如下(在具体场景下需要处理流的关闭问题):publicstaticbyte[]toBy…

    2022年9月21日
    2
  • ICMP报文的类型

    ICMP报文的类型ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。ICMP报文是在IP数据报内部被传输的,如图6-1所示。ICMP的正式规范参见RFC792[Posterl1981b]。ICMP…

    2022年5月29日
    27
  • 8. 强化学习之——模仿学习

    8. 强化学习之——模仿学习课程大纲注:本文所有内容源自于B站周博磊老师更新完的强化学习纲要课程,听完之后获益很多,本文也是分享我的听课笔记。周老师Bilibili视频个人主页:https://space.bilibili.com/511221970?spm_id_from=333.788.b_765f7570696e666f.2感谢周老师:)…

    2022年9月18日
    5
  • 布隆过滤器原理以及应用_bitmap与布隆过滤器

    布隆过滤器原理以及应用_bitmap与布隆过滤器1.先说下背景,肯定遇到这种情况,判断元素在不在一个集合里面,如果,集合里面的元素非常大,这个判断过程是非常耗时的,而且集合占用空间也很大。2.应用场景,网页黑名单,垃圾邮件过滤,电话黑名单,url去重,内容推荐等。3.原理:布隆过滤器实际上就是一个字节数组,字节数组的值是0或1,在添加元素的时候,对值通过多个hash函数的计算,得到多个0,1然后在字节数组里面在相应的位置设置值。这样处理…

    2022年10月7日
    2

发表回复

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

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