leetcode 22. Generate Parentheses
来源:互联网 发布:竹笛模拟软件 编辑:程序博客网 时间:2024/06/02 21:14
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个括号,找出所有的符合括号匹配的组合.
public class A22GenerateParentheses {public List<String> generateParenthesis(int n) {List<String> list = new ArrayList<String>();generate(list, "", n, n);return list; }public void generate(List<String> list, String str, int lnum, int rnum) {if(lnum == 0 && rnum == 0) {list.add(str);}if(lnum > 0) {generate(list, str + "(", lnum - 1, rnum);}if(rnum > 0 && lnum < rnum) {generate(list, str + ")", lnum, rnum - 1);}}}这道题是卡特兰数的应用.
卡塔兰数的一般项公式为Cn = C(2n, n)/(n + 1)
前20项为:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190
0 0
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- leetcode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- leetcode 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- LeetCode *** 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- 数据分析与挖掘学习(一)
- UML中关联,聚合,组合的区别(读书笔记)
- Spark性能优化:shuffle调优
- 飛飛(六十三)讲内容填充完整
- 树状数组+异或运算
- leetcode 22. Generate Parentheses
- printf输出格式:printf("%*.*s/n",m,n,ch)
- ViPR和DJ领跑软件定义存储
- 异或运算+水题
- Linux常用命令
- STM32学习过程中的一些问题
- int数组排序
- Hadoop之MapReduce程序应用一读取专利引用数据集并对它进行倒排
- POJ 1463 Strategic game