括号生成java,括号生成 动态规划

  括号生成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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: