【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;
    }
};
相关推荐
ysa05103014 小时前
【板子】二分答案(最大最小?)
c++·笔记·算法·板子
科技之门14 小时前
百公里管网漏损分级定位实战方案2026
前端·人工智能·算法
木木子2214 小时前
# 猜数字游戏 — HarmonyOS交互逻辑与随机算法实现
算法·游戏·华为·交互·harmonyos
stolentime15 小时前
SP8549 MAIN75 - BST again题解
c++·算法·二叉树·深度优先·图论·记忆化搜索·组合数学
stolentime15 小时前
AT_pakencamp_2020_day1_k Gcd of Sum题解
c++·算法
2601_9561219715 小时前
map_计蒜客T1271 完美K倍子数组
c++·算法
编程圈子16 小时前
电机驱动开发学习19. 霍尔 BLDC 三段式 FOC 启动算法
驱动开发·学习·算法
Hello_Damon_Nikola16 小时前
伺服电机堵转检测算法详解
单片机·嵌入式硬件·算法
罗小罗同学16 小时前
安德森癌症中心发表SCOPE IO模型,实现了对罕见肿瘤帕博利珠单抗疗效的精准预测,在患者早期即可预判药效
人工智能·算法·医学图像处理·医学ai
变量未定义~16 小时前
Tarjan算法-强连通分量、路径、出差
算法