LeetCode——Generate Parentheses
来源:互联网 发布:软件开发代码大全 编辑:程序博客网 时间:2024/05/22 00:47
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对括号,写一个函数生成所有的构造良好的括号对。
思路:类似这样子的东西在组合数学中有学习到,今天再查了一下,就是卡特琳数。其通项公式为。Cn表示所有包含n组括号的合法运算式的个数。
对于计算,可以采用递归的方式。left、right分别代表"("、")"的数目。在每次递归函数中记录左括号和右括号的剩余数量,然后有两种选择,一个是放一个左括号,另一种是放一个右括号。当然有一些否定条件,比如剩余的右括号不能比左括号少,或者左括号右括号数量都要大于0。正常结束条件是左右括号数量都为0。
public static List<String> generateParenthesis(int n) {List<String> list = new ArrayList<String>();helper(list,"",0,0,n);return list;}public static void helper(List<String> list,String s,int left,int right,int n){if(left < right)return;if(left == n && right==n){list.add(s);return;}if(left == n){helper(list,s+")",left,right+1,n);return;}helper(list,s+"(",left+1,right,n);helper(list,s+")",left,right+1,n);}
reference : http://blog.csdn.net/linhuanmars/article/details/19873463
http://blog.csdn.net/fightforyourdream/article/details/14159435
0 0
- LeetCode——Generate Parentheses
- LeetCode——Generate Parentheses
- LeetCode——Generate Parentheses
- leetcode——Generate Parentheses
- leetcode——Generate Parentheses
- leetcode 022 —— Generate Parentheses
- LeetCode题解——Generate Parentheses
- LeetCode OJ——Generate Parentheses
- Leetcode——22. Generate Parentheses
- LeetCode算法题——Generate Parentheses
- leetcode——22——Generate Parentheses
- leetcode第22题——**Generate Parentheses
- LeetCode 22. Generate Parentheses 题解 —— Java
- LeetCode算法题——22. Generate Parentheses
- LeetCode刷题(C++)——Generate Parentheses(Medium)
- LeetCode 22 — Generate Parentheses(C++ Java Python)
- 从leetcode—Generate Parentheses看卡特兰数
- LeetCode: Generate Parentheses
- 绘图与动画学习笔记(二)
- 分享一个能上developer.android.com的在线代理
- 绘图与动画学习笔记(三)
- 绘图与动画学习笔记(四)
- 绘图与动画学习笔记(五)
- LeetCode——Generate Parentheses
- jsessionid
- 开源 免费 java CMS - FreeCMS2.0 移动APP生成信息数据
- mipi协议PCB设计指南
- [ACM] POJ 3253 Fence Repair (Huffman树思想,优先队列)
- JSP简单练习-获取表单数据
- 发现数据库字符串长度被截取
- CF (Round#256) A. Rewards
- Nginx安全配置研究