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

Leetcode 22. 括号生成 回溯 C++实现

Leetcode 22.括号生成

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

03921ce321d04fd8813f5fda83a24df8.png

算法:

创建返回数组 ans ,和临时变量 path

当左括号数量 open 小于应填括号数 n 时,可以填左括号;当右括号数量 i-open 小于左括号数量 open 时,可以填右括号。递归。

代码:

class Solution {
public:vector<string> generateParenthesis(int n) {vector<string> ans;int m = n*2;// 左括号和右括号一共个数string path(m,0);// 所有括号长度都是一样的 m// 目前已经填了的括号数 i// 左括号个数 open,右括号个数 i-openauto dfs = [&](auto &&dfs,int i,int open){if(i == m){ans.emplace_back(path);return ;}// 可以填左括号if(open < n){path[i] = '(';dfs(dfs,i + 1,open + 1);}// 可以填右括号if(i - open < open){path[i] = ')';dfs(dfs,i + 1,open);}};dfs(dfs,0,0);// 入口return ans;}
};

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vulhub xxe靶机
  • go+gin+vue入门
  • Prometheus 告警Promesql整理
  • 这些常用测试平台,你们公司在用的是哪些呢?
  • 全新一代理想智能驾驶开启万人体验团招募,OTA 6.2正式全量推送
  • 华硕天选Air:开学季的性价比之巅
  • 聚焦工业自动化领域,港迪技术IPO上市加码技术研发投入
  • MySQL:简述对事务的认识
  • 排序算法之希尔排序详细解读(附带Java代码解读)
  • Nginx轮询负载均衡配置指南:实现高效请求分发
  • 无人机遥控器工作原理!!!
  • 全面解析:动态住宅代理的关键优势
  • axios取消请求CancelToken的原理解析及用法示例
  • 手撕数据结构与算法——拓扑排序
  • 【STM32单片机_(HAL库)】3-3【中断EXTI】使用SysTick模拟多线程
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • bootstrap创建登录注册页面
  • codis proxy处理流程
  • Computed property XXX was assigned to but it has no setter
  • Python中eval与exec的使用及区别
  • React组件设计模式(一)
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 对象管理器(defineProperty)学习笔记
  • 坑!为什么View.startAnimation不起作用?
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何在 Tornado 中实现 Middleware
  • 入口文件开始,分析Vue源码实现
  • 设计模式(12)迭代器模式(讲解+应用)
  • 我有几个粽子,和一个故事
  • 物联网链路协议
  • 如何在招聘中考核.NET架构师
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • (23)Linux的软硬连接
  • (30)数组元素和与数字和的绝对差
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十六)串口UART
  • (已解决)什么是vue导航守卫
  • .net dataexcel winform控件 更新 日志
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net对接阿里云CSB服务
  • .net反编译工具
  • .NET基础篇——反射的奥妙
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .net下的富文本编辑器FCKeditor的配置方法
  • @AutoConfigurationPackage的使用
  • [16/N]论得趣
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [CVPR2021]Birds of a Feather: Capturing Avian Shape Models from Images
  • [flink总结]什么是flink背压 ,有什么危害? 如何解决flink背压?flink如何保证端到端一致性?
  • [Flutter] extends、implements、mixin和 abstract、extension的使用介绍说明
  • [FxCop.设计规则]8. 也许参数类型应该是基类型
  • [Golang]K-V存储引擎的学习 从零实现 (RoseDB mini版本)
  • [H贪心] lc100376. 新增道路查询后的最短距离 II(贪心+读题+代码实现+周赛409_3)
  • [IE技巧] 让IE 以全屏模式启动