您的位置:首页 > 新闻 > 热点要闻 > 软件开发模型及特点_开发平台软件产品_网络营销成功的案例分析_百度问答下载安装

软件开发模型及特点_开发平台软件产品_网络营销成功的案例分析_百度问答下载安装

2025/6/1 2:33:23 来源:https://blog.csdn.net/weixin_41500467/article/details/144569498  浏览:    关键词:软件开发模型及特点_开发平台软件产品_网络营销成功的案例分析_百度问答下载安装
软件开发模型及特点_开发平台软件产品_网络营销成功的案例分析_百度问答下载安装

题目链接

描述:给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合。
例如,给出n=3,解集为:
“((()))”, “(()())”, “(())()”, “()()()”, “()(())”

思路:

回溯左子树不断添加‘(’,右子树不断添加 ‘)’。但为了保证合法,必须每个节点的左括号数量都大于右括号。因此用两个数记录左右子树的左括号个数和右括号个数

代码:

# 使用回溯递归,加左括号,然后加右括号
res = []
def dfs(n,left, right,path_str):if left==n and right == n:print(path_str)res.append(path_str)returnif left < n:dfs(n,left+1, right, path_str+"(")if right < left and right <n:dfs(n, left, right+1,path_str+')')class Solution:# def generateParenthesis(self , n: int) -> List[str]:# write code heredfs(n,0,0,"")return res

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com