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

广东网站设计服务商服装在线设计平台

广东网站设计服务商,服装在线设计平台,高要网站建设公司,邯郸市城乡住房建设局网站题目 数字 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://www.dtcms.com/a/528987.html

相关文章:

  • 网站 刷流量 SEO中山建网站多少钱
  • 启动中国蚁剑antsword
  • 建行移动门户网站首页齐齐哈尔电话黄页
  • FreeRTOS - 基于ESP32 串口数据收发
  • 【释义】摩尔定律性能收益在减弱
  • REFLECTOOL: Towards Reflection-Aware Tool-Augmented Clinical Agents
  • 基于android的体育馆预约使用系统
  • 免费psd模板网站商标注册申请需要什么材料
  • 【开题答辩全过程】以 查寝打卡系统为例,包含答辩的问题和答案
  • mvc 网站开发平度市城市建设局网站
  • 旅行社网站建设规划的内容wordpress 评论模板
  • EtherCAT转EtherNet/IP工业数据采集网关:保障编码器与工控机稳定交互的整合案例
  • 网络层网际协议IP
  • 凡科免费建站平台渭南定制网站建设公司
  • 哪款纳米研磨机能将药物颗粒做到≤100nm?需要多少小时?
  • 《C语言疑难点 --- 字符函数和字符串函数专题(上)》
  • 株洲网站建设联系方式知名的家居行业网站开发
  • 华为堡垒机
  • Wordpress做什么网站赚钱外贸英文网站建设
  • MyBatis注解与XML使用对比
  • Connector
  • 招标网免费查看什么是优化师
  • 商城网站开发哪家好室内装饰设计费收费标准
  • 自动驾驶中的传感器技术70——Navigation(7)
  • 个人接装修活怎样给网站做seo优化
  • php做购物网站wordpress 3.4.2
  • 阮一峰《TypeScript 教程》学习笔记——namespace
  • WEB前端技术基础(第三章:css-网页美化的衣装-上)
  • 大学生网站开发项目计划书范文南宁营销型网站设计
  • C++ 游戏开发示例:简单的贪吃蛇游戏