括号生成java,括号生成 动态规划
LeetCode链接
首先考虑递归生成所有情况,每次在前一个的基础上增加一个左括号或者右括号,直到长度达到2n。
类别解决方案:
def generate preparathesis(self,n: int):
定义生成:
如果len(s)==2 * n:
印刷品
否则:
生成(s ()
生成(s ))
生成(“”)增加了生成过程中有效性的判断:
左括号条件:left_count n可以加右括号条件:只有一个左括号可以加一个括号,所以只有当条件为right_count left_count时才能加类解:
def generate parathesis(self,n: int) - List[str]:
res_list=[]
定义生成(s,左计数,右计数):
#终止条件
如果左计数==n且右计数==n:
资源_列表.追加
否则:
#有效性判断
如果左计数n:
生成(s (,左计数1,右计数)
如果右计数左计数:
生成(s ),左计数,右计数1)
生成(“”,0,0)
返回资源列表
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。