当前位置:网站首页>leetcode-22:括号生成
leetcode-22:括号生成
2022-07-05 05:46:00 【菊头蝙蝠】
题目
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
示例 1:
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]
示例 2:
输入:n = 1
输出:["()"]
解题
如果直接暴力回溯,让’('和‘)'自由组合,然后判断括号有效性,这样做,复杂度会比较高。
因此可以在直接通过一些判断条件,使得生成的括号是有效的。
方法一:回溯
通过open ,close来计数 开闭括号数量,保证close<open才会加入闭括号,以此来保证生成的括号的有效性。
class Solution {
public:
string path;
vector<string> res;
void dfs(int open,int close,int n){
if(path.size()==n*2){
res.push_back(path);
return;
}
if(open<n){
path.push_back('(');
dfs(open+1,close,n);
path.pop_back();
}
if(close<open){
path.push_back(')');
dfs(open,close+1,n);
path.pop_back();
}
}
vector<string> generateParenthesis(int n) {
dfs(0,0,n);
return res;
}
};
边栏推荐
猜你喜欢

SAP method of modifying system table data

【Jailhouse 文章】Jailhouse Hypervisor

【Jailhouse 文章】Jailhouse Hypervisor
![[jailhouse article] look mum, no VM exits](/img/fe/87e0851d243f14dff96ef1bc350e50.png)
[jailhouse article] look mum, no VM exits

Educational Codeforces Round 116 (Rated for Div. 2) E. Arena

Wazuh開源主機安全解决方案的簡介與使用體驗

Sword finger offer 53 - ii Missing numbers from 0 to n-1

Scope of inline symbol

Fried chicken nuggets and fifa22
![[article de jailhouse] jailhouse hypervisor](/img/f4/4809b236067d3007fa5835bbfe5f48.png)
[article de jailhouse] jailhouse hypervisor
随机推荐
How to adjust bugs in general projects ----- take you through the whole process by hand
Reader writer model
[jailhouse article] performance measurements for hypervisors on embedded ARM processors
“磐云杯”中职网络安全技能大赛A模块新题
shared_ Repeated release heap object of PTR hidden danger
Implement an iterative stack
7. Processing the input of multidimensional features
Chapter 6 data flow modeling - after class exercises
[practical skills] technical management of managers with non-technical background
Daily question 1342 Number of operations to change the number to 0
6. Logistic model
Transform optimization problems into decision-making problems
挂起等待锁 vs 自旋锁(两者的使用场合)
Summary of Haut OJ 2021 freshman week
Full Permutation Code (recursive writing)
Developing desktop applications with electron
卷积神经网络——卷积层
二十六、文件系统API(设备在应用间的共享;目录和文件API)
Fried chicken nuggets and fifa22
Collection: programming related websites and books