Leetcode—22.括号生成【中等】

2023每日刷题(七十九)

Leetcode---22.括号生成

算法思想




实现代码

cpp 复制代码
class Solution {
public:
    vector<string> generateParenthesis(int n) {
        vector<string> ans;
        int m = n * 2;
        string path(m, 0);
        function<void(int, int)> dfs = [&](int i, int open) {
            if(i == m) {
                ans.emplace_back(path);
                return;
            }
            // 可以填左括号
            if(open < n) {
                path[i] = '(';
                dfs(i + 1, open + 1);
            }
            // 可以填右括号
            if(i - open < open) {
                path[i] = ')';
                dfs(i + 1, open);
            }
        };
        dfs(0, 0);
        return ans;
    }
};

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
代码改善世界4 分钟前
【C++进阶】C++11:列表初始化、右值引用与移动语义、完美转发全解析
java·开发语言·c++
apcipot_rain24 分钟前
计科八股20260616(2)/面经——线性代数对称阵求n次幂、概率论最大似然估计
算法
牛油果子哥q30 分钟前
并查集(DSU)超精讲,路径压缩、按秩合并、万能模板、连通性判定、最小生成树与刷题实战全解
数据结构·c++·最小生成树·并查集
小冷爱读书34 分钟前
allocator
开发语言·c++
森G36 分钟前
71、打包发布---------打包发布
c++·qt
小冷爱读书37 分钟前
C++ 单例四种实现完整演进逻辑
开发语言·c++·c++学习
cici158741 小时前
彩色图像模糊增强(Fuzzy Enhancement)MATLAB 实现
开发语言·算法·matlab
宝贝儿好1 小时前
【LLM】第二章:HuggingFace入门学习
人工智能·深度学习·神经网络·学习·算法·自然语言处理
sdm0704271 小时前
多路转接-select
网络·c++·select·多路转接
凌波粒1 小时前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode