Generate Parentheses
题意是要求生成匹配的括号结果。假如给定n = 3,需要生成3对括号的有效组合,即"((()))", "(()())", "(())()", "()(())", "()()()"。
void unguarded_generate(vector<string> &result, string curr, int m, int n)
{
if (m == 0 && n == 0)
{
result.push_back(curr);
}
else
{
if (m != 0)
{
unguarded_generate(result, curr + "(", m - 1, n);
}
if (m < n && n != 0)
{
unguarded_generate(result, curr + ")", m, n - 1);
}
}
}
vector<string> generateParenthesis(int n)
{
vector<string> ret;
if (n > 0)
{
unguarded_generate(ret, string(), n, n);
}
return ret;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· AI浏览器自动化实战
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· C#/.NET/.NET Core技术前沿周刊 | 第 34 期(2025年4.7-4.13)
· Chat to MySQL 最佳实践:MCP Server 服务调用
· .NET周刊【3月第4期 2025-03-23】