【LeetCode热题100】【回溯】括号生成

题目链接:22. 括号生成 - 力扣(LeetCode)

给n对括号找出所有有效组合,首先常规深度遍历回溯能得到所有组合,然后我们来看什么样的组合是有效的,什么样的组合是无效的,采用尾插的字符拼接,因此无论何时)的数量不能超过(,当(和)的数量都得到了n,说明这个组合完成了

复制代码
class Solution {
public:
    vector<string> ans;

    void dfs(string an, int left, int right) {
        if (left < 0 || left > right)
            return;
        if (left == 0 && right == 0) {
            ans.push_back(std::move(an));
            return;
        }
        dfs(an + '(', left - 1, right);
        dfs(an + ')', left, right);
    }

    vector<string> generateParenthesis(int n) {
        dfs("", n, n);
        return ans;
    }
};
相关推荐
wuweijianlove3 小时前
算法中的记忆化思想与重复子问题优化的技术5
算法
小江的记录本4 小时前
【JVM虚拟机】垃圾回收GC:垃圾判定算法:引用计数法、可达性分析算法(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·spring·面试
Hello.Reader4 小时前
算法基础(十四)—— 随机化快速排序为什么平均表现很好
算法
吴可可1234 小时前
Teigha中OdGe几何库详解及C#使用
算法
爱喝水的鱼丶4 小时前
SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第六篇:ABAP 7.40+新特性:声明语法的简化写法与兼容注意事项
运维·服务器·开发语言·学习·算法·sap·abap
国科安芯4 小时前
AS32S601商业航天级抗辐照MCU芯片:架构设计与技术特性研究
单片机·嵌入式硬件·算法·安全·架构·risc-v
菜菜的顾清寒5 小时前
力扣HOT100(34)图论-岛屿数量
算法·leetcode·图论
圣保罗的大教堂5 小时前
leetcode 2657. 找到两个数组的前缀公共数组 中等
leetcode
名字不好奇5 小时前
大模型的思考模式:它真的在“想“吗?
人工智能·算法
Run_Teenage5 小时前
算法模板:输入输出,并查集
java·开发语言·算法