leetcode_c++:Generate Parentheses(022)
来源:互联网 发布:c语言usleep函数 编辑:程序博客网 时间:2024/05/21 09:21
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
//n 对括号的所有有效组合
DFS
O(2^n)
class Solution {private: string tmp; void dfs(vector<string> &v, int pos, int n, int used) { if (pos == n * 2) { cout << tmp << endl; v.push_back(tmp); return; } if (used < n) { tmp.push_back('('); dfs(v, pos + 1, n, used + 1); tmp.pop_back(); } if (used * 2 > pos) { tmp.push_back(')'); dfs(v, pos + 1, n, used); tmp.pop_back(); } }public: vector<string> generateParenthesis(int n) { vector<string> res; if (n == 0) return res; tmp = ""; dfs(res, 0, n, 0); return res; }};
0 0
- leetcode_c++:Generate Parentheses(022)
- LeetCode 022 Generate Parentheses
- leetcode 022 Generate Parentheses
- LeetCode 022 Generate Parentheses
- 022 - Generate Parentheses
- [LeetCode]022-Generate Parentheses
- LeetCode 022 Generate Parentheses
- 022 Generate Parentheses
- leetcode 022 Generate Parentheses
- LeetCode 022 Generate Parentheses
- 022 Generate Parentheses
- LeetCode-022 Generate Parentheses
- leetcode_c++:栈:Valid Parentheses(020)
- leetcode_c++:Longest Valid Parentheses(032)
- LeetCode(22)Generate Parentheses
- 《leetCode》:Generate Parentheses(hard)
- (Leetcode)22. Generate Parentheses
- 22. Generate Parentheses(dfs)
- 随机网络-无标度网络(带连接偏好的增长网络模型)-(3)
- abstract(抽象)修饰符,可以修饰类和方法
- 尝试EFM32下的fatfs的使用
- HDOJ 5783 (2016多校联合训练 Training Contest 5) Divide the Sequence
- Java制作证书的工具keytool用法总结
- leetcode_c++:Generate Parentheses(022)
- Mahout 常用相似度度量(笔记)
- 刀塔传奇中滚轴式UI的实现
- Semaphore信号量的使用
- C++ Primer 第8章 知识点回顾
- Warshall传递闭包算法
- leetcode_c++:Implement strStr() (028)
- leetcode 28. Implement strStr()
- 使用httpclient模拟登录京东帐户并抓取帐户信息