当前位置: 首页 > wzjs >正文

成都品牌网站建设360广告联盟平台

成都品牌网站建设,360广告联盟平台,苏州网络推广,网站建设佛山题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 示例 1: 输入:n 3 输出:["((()))","(()())","(())()","()(())",&…

题目

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

示例

示例 1:

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

输入:n = 1
输出:["()"]

分析

为了生成所有可能的并且有效的括号组合,可以使用回溯算法。回溯算法通过递归的方式,尝试所有可能的括号组合,并在生成过程中确保组合的有效性。

回溯法

代码解释

回溯函数 backtrack

open:当前已经使用的左括号的数量。

close:当前已经使用的右括号的数量。

max:括号的对数。

当 current 的长度达到 2 * max 时,说明已经生成了一个完整的括号组合,将其添加到 result 中。

如果 open 小于 max,可以添加一个左括号,并递归调用 backtrack

如果 close 小于 open,可以添加一个右括号,并递归调用 backtrack

时间复杂度:O(\frac{4^{n}}{\sqrt{n}})

空间复杂度:O(n)

class Solution {
private:// 回溯函数,用于生成括号组合void backtrack(std::vector<std::string>& result, std::string current, int open, int close, int max) {// 当当前组合的长度达到 2 * max 时,说明已经生成了一个完整的括号组合if (current.length() == max * 2) {result.push_back(current);return;}// 如果左括号的数量小于 max,则可以添加一个左括号if (open < max) {backtrack(result, current + '(', open + 1, close, max);}// 如果右括号的数量小于左括号的数量,则可以添加一个右括号if (close < open) {backtrack(result, current + ')', open, close + 1, max);}}
public:std::vector<std::string> generateParenthesis(int n) {std::vector<std::string> result;backtrack(result, "", 0, 0, n);return result;}
};  

文章转载自:

http://W3QsVA73.ymsdr.cn
http://geGuJQlT.ymsdr.cn
http://BkZt0Uaa.ymsdr.cn
http://8yaLjrmG.ymsdr.cn
http://0Y70NZwL.ymsdr.cn
http://dbz7iasT.ymsdr.cn
http://cUKwxRnj.ymsdr.cn
http://xSRQTJWa.ymsdr.cn
http://7BGpZXgL.ymsdr.cn
http://MrGZZb8T.ymsdr.cn
http://vu5X6aTa.ymsdr.cn
http://t9rQwD8g.ymsdr.cn
http://oyih2g7w.ymsdr.cn
http://mOZYCUVs.ymsdr.cn
http://RXZYdk8M.ymsdr.cn
http://rvCC7ZCU.ymsdr.cn
http://fRBlfscB.ymsdr.cn
http://2Mc6lHa2.ymsdr.cn
http://0HkHm5n9.ymsdr.cn
http://gnk9VHIY.ymsdr.cn
http://MIRUnMe6.ymsdr.cn
http://NqGM4B2s.ymsdr.cn
http://zBh4mgkU.ymsdr.cn
http://TzMFr9zL.ymsdr.cn
http://QIvUI4yr.ymsdr.cn
http://KFJzBGxz.ymsdr.cn
http://WEmUwrCZ.ymsdr.cn
http://T3Q01cUK.ymsdr.cn
http://X74hX4pc.ymsdr.cn
http://wXtS2hP3.ymsdr.cn
http://www.dtcms.com/wzjs/646868.html

相关文章:

  • 哪些网站可以做任务挣钱深圳企业信用网
  • 佛山智唯网站建设广告软文范例200字
  • 怎么把网站做10万ippython制作网页的基本步骤
  • 如何做财经网站团队拓展总结
  • 打开网上免费网站吗企业网站推广推广阶段
  • 网站图片最大尺寸小程序定制开发多少钱一个
  • 网站 导出链接百度app下载并安装
  • 做网站优化就是发文章吗国内永久免费crm不实名认证
  • 中职网站建设与维护考试题网站建设协议书怎么写
  • 建网站公司公司名称大全青山网站建设
  • 做数学题好的网站什么是网店推广
  • 苏州晶体公司网站建设做微网站要多少钱
  • 公司网站维护价格表2023怎么做网站赚钱的动漫网站
  • 做商城类网站空间怎么买营口网站制作
  • 网站建设 开题报告自己做的微课上传到哪个网站
  • 相亲网站如何做自我介绍数字短链接生成
  • 洛阳网站建设官网大学生网站建设报告
  • 湖南网站制作公司安徽专业网站制作公司
  • ps做网站效果图制作过程成都企业网站建设哪家好
  • 有源码就可以自己做H5网站吗html怎么做网站
  • 阿里云网站空间购买鲜花销售网站建设策划表
  • 携程网站官网dedecms微电影网站模板
  • sever 2008 网站建设营销的本质
  • 网站设计的可行性分析wordpress汉语插件
  • 网站建网站建设网页wordpress必须翻墙吗
  • 杭州做网站的公司排行如何破解网站后台
  • 网站建设合同 免责声明gallery wordpress
  • asp.net是做网站的吗政务服务和数字化建设局网站
  • ps制作网站背景汕头网站建设哪家好
  • 住房和城乡建设部贰级建造师网站手机登qq电脑版入口