博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Generate Parentheses
阅读量:5276 次
发布时间:2019-06-14

本文共 796 字,大约阅读时间需要 2 分钟。

描述

Given n pairs of parentheses, write a function to generate all combinations of wellformed parentheses.

For example, given n = 3, a solution set is:
"((()))", "(()())", "(())()", "()(())", "()()()"

思路

该题目有一个规则是左括号个数得小于右括号个数,根据这个规则,可用通过动态规划来解决这个题目

代码

package com.lilei.myes.es.pack1107;public class generate_parentheses {	public static void main(String[] args) {		int num = 4;		genp("", num, num);	}	public static void genp(String s, int left, int right) {		if (left > 0 && right > 0) {			if (left == right) {				genp(s + "(", left - 1, right);			} else if (left < right) {				genp(s + "(", left - 1, right);				genp(s + ")", left, right - 1);			}		} else {			for (int i = 0; i < right; i++)				s = s + ")";			System.out.println(s);		}	}}

  

转载于:https://www.cnblogs.com/lilei2blog/p/7799586.html

你可能感兴趣的文章
Dijkstra+计算几何 POJ 2502 Subway
查看>>
修复IE不能执行JS的方法
查看>>
程序员究竟该如何提高效率zt
查看>>
希尔排序法(缩小增量法)
查看>>
PHP编程基础学习(一)——数据类型
查看>>
MongoDB-JAVA-Driver 3.2版本常用代码全整理(2) - 查询
查看>>
NPOI处理Word文本中上下角标
查看>>
Android笔记 Handler
查看>>
如何阅读大型前端开源项目的源码(转)
查看>>
java.util.Arrays类详解
查看>>
NYOJ-626-intersection set(二分查找)
查看>>
项目管理之路(1):初步踏入项目管理
查看>>
Java 中 静态方法与非静态方法的区别
查看>>
echarts饼图显示百分比
查看>>
JMS消息
查看>>
Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台
查看>>
php上传文件及头像预览
查看>>
大四java实习生的一些经历
查看>>
线程池的概念
查看>>
Oracle_Statspack性能诊断工具
查看>>