[抄题]:

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:

[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]

[暴力解法]:

时间分析:

空间分析:

[优化后]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:

不知道括号的backtracing怎么写:定义open和close整数,分open < max 和close < open两个阶段来回溯

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[一句话思路]:

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

open close都是括号个数,int 直接加一就行了

[复杂度]:Time complexity: O() Space complexity: O(n)

[算法思想:迭代/递归/分治/贪心]:迭代

[关键模板化代码]:

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

[代码风格] :

[是否头一次写此类driver funcion的代码] :

[潜台词] :

class Solution {
public List<String> generateParenthesis(int n) {
List<String> result = new ArrayList<String>();
if (n <= 0) return result;
generateParenthesisHelper(0, 0, new String(), result, n);
return result;
} public void generateParenthesisHelper(int open, int close, String item, List<String> result, int max) {
//add to result
if (item.length() >= 2 * max) {
result.add(item);
return ;
} //backtracing in 2 stages
if (open < max) generateParenthesisHelper(open + 1, close, item + '(', result, max);
if (close < open) generateParenthesisHelper(open, close + 1, item + ')', result, max);
}
}

最新文章

  1. Python excel 库:Openpyxl xlrd 对比 介绍
  2. 转: GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean
  3. FlashFXP(强大的FXP/ftp上传工具)V5.0.0.3722简体中文特别版
  4. atitit.404错误的排查流程总结vOa6
  5. hadoop结构出现后format变态
  6. 在Github上搭建你的博客
  7. pydev-python 链接mysql数据库(mac系统)
  8. CocoaPods在使用中的几个问题
  9. OpenGL学习-------点、直线、多边形
  10. Java获取http和https协议返回的json数据
  11. 底层码农的Stanford梦 --- 从SCPD开始 [转]
  12. tensorflow Relu激活函数
  13. Elasticsearch Search API
  14. 实验四 (1):定义一个形状类(Shape)方法:计算周长,计算面积
  15. [c/c++] programming之路(28)、结构体存储和内存对齐+枚举类型+typedef+深拷贝和浅拷贝
  16. poj3087 Shuffle&#39;m Up(模拟)
  17. timer控件、三级联动、帐号激活权限设置
  18. Jmeter(二十五)常见问题(转载)
  19. 【LGP4886 】快递员
  20. selenium-登录C语言中文网

热门文章

  1. Synchronized 有几种用法?
  2. java-Redis集合
  3. Hanlp1.7版本的新增功能一览
  4. bootstrap之navbar
  5. MVC Ajax.BeginForm 提交上传图片
  6. vs2010安装的一些问题
  7. NotePad++ 配置Python工作环境
  8. PCL数据类型和ROS数据类型的转换
  9. PTA上Java问题自查与提问方法
  10. Delphi 10-10.2.2启动提示JS错误的解决办法