All combinations of well-formed parentheses
/*
	This is an implementation that efficiently
	generates all combinations of well-formed 
	parentheses for n pairs of parentheses. 

	Time complexity: O(4^n/sqrt(n)), 
	upperbound of nth Catalan number
	Space complexity: O(4^n/sqrt(n))
*/
import java.util.List;
import java.util.ArrayList;

public class GenerateParentheses {
	public static void main(String[] args) {
		// Below outputs: [((())), (()()), (())(), ()(()), ()()()]
		System.out.println(generateParenthesis(3));
	}
	private static List<String> generateParenthesis(int n) {
		List<String> result = new ArrayList<>();

		createCombinations(n, n, new StringBuilder(), result);

		return result;
	}
	private static void createCombinations(int openingNeeded, int closingNeeded, StringBuilder prefix,
			List<String> result) {
		// Keep track of number of opening and closing symbols added
		// Add a new one only if sequence remains valid.
		if (openingNeeded > 0) {
			prefix.append("(");
			createCombinations(openingNeeded - 1, closingNeeded, prefix, result);
			prefix.deleteCharAt(prefix.length() - 1);
		}

		if (openingNeeded < closingNeeded) {
			prefix.append(")");
			createCombinations(openingNeeded, closingNeeded - 1,
					prefix, result);
			prefix.deleteCharAt(prefix.length() - 1);
		}

		if (closingNeeded == 0) {
			result.add(prefix.toString());
		}
	}
}

Java相关代码片段

c# param.ExStyle 在 java 中的类似功能

如何在java中判断base64

这个的输出

无互联网Android Studio 的广播接收器

如何从资源ID android获取字符串

8.1.1.声明一个数组¶

如何以编程方式从 android studio 中的活动中删除操作栏

java int转八进制

相机权限android

Spring @Value 默认值

反转整数并处理溢出

Java @SafeVarargs 注释

Java将int转换为double

Java getClass() 方法

java hashmap for 循环

java填充二维数组

spring数据休息格式时间

在java中将元素添加到arraylist的arraylist

获取电池百分比Android Studio

OkHttp3 在慢速互联网上从不超时

在 Ponga 类中找不到主方法,请将主方法定义为:public static void main(String[] args) 或 JavaFX 应用程序类必须扩展 javafx.application.Application

java创建新对象

android java 可选参数

一键多值映射java

链表与数组列表

在 selenium java 中断言真

java中的数组方法

java中的编组

打印行号java

在Java中获取一个月的最后一天

样式 jbuttons

java中void和return方法的区别

感官可以感知哪些物质属性?

java字节数组到blob

java数组方法

测试离线 cypress

bukkit 检测 nowbal 击中的方块

将java转换为python

java 列表

将 SQLite 返回的数据保存到对象列表

将多个变量分配给空字符串java

java中的continue关键字有什么作用

如何使 2 个嵌套循环计数到 100

增强for循环java

严格的java例子

你好

JAXRS 异常映射器

java虚拟覆盖

java中的getcontentpane是做什么用的

封装java

java需要非空

活体生物的龙头变化移动速度

bukkit 可运行重复调度程序

过滤掉任何不可打印的字符

java数据表源thymeLeaf

android捕获视图和动画

在线将代码c++转换为python

你如何评价自己在 java

如何找到根视图组

如何不允许用户在java中输入大于100或小于0的标记

spring如何进行注解配置

我的世界

16 他的国家 4 个成员 Java

只读禁用列表视图

运行java类文件

使用文件创建属性对象

使用 new 创建数组

intellij 判断表达式

使用集合的 void add 方法

显示所有调试点 intellij

java空数组列表与空元素

返回类名 java

将数组与自己比较java

可扩展列表视图 android

如何获取配置值 bukkit

朱尼特

随机抽签java

java将构造函数添加到枚举