力扣22. 括号生成

回溯

  • 思路:
    • 定义函数 dfs(item, open, close, n) 表示当前 item 有左括号个数 open 和右括号个数 close ;
    • 使用递归,长度为 n 的序列就是在长度为 n - 1 的序列后加左括号或者右括号:
      • 先放左括号,只要其个数 < n;
      • 然后放右括号,只要右括号个数比左括号个数少;
      • 当 item = 2 * n 时(左括号 n + 右括号 n)item 构建完成,保存进结果;
class Solution {
public:vector<string> generateParenthesis(int n) {std::string item;dfs(item, 0, 0, n);return result;}private:void dfs(std::string& item, int open, int close, int n) {if (item.size() == 2 * n) {result.push_back(item);return;}if (open < n) {item.push_back('(');dfs(item, open + 1, close, n);item.pop_back();}if (close < open) {item.push_back(')');dfs(item, open, close + 1, n);item.pop_back();}}private:std::vector<std::string> result;
};

——————————————————————————————————————————

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414279.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python使用HTTP代理实现多线程/多进程网络请求

在处理大量网络请求时&#xff0c;单线程的方式可能会非常耗时。为了提高效率&#xff0c;我们可以使用多线程或多进程来并发地发送请求。而HTTP代理可以帮助我们更好地管理和控制这些并发请求。 在Python中&#xff0c;我们可以使用threading或multiprocessing模块来实现多线…

【linux进程间通信(一)】匿名管道和命名管道

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; 进程间通信 1. 前言2. 进程间…

微软与沃达丰签订10年合作,提供Copilot等生成式AI服务

1月16日&#xff0c;微软在官网宣布&#xff0c;与全球最大电信公司之一沃达丰&#xff08;Vodafone&#xff09;签订10年合作协议&#xff0c;将为3亿多企业、消费者提供生成式AI、云和数字服务等。 通过此次合作&#xff0c;沃达丰将利用微软的Copilot等生成式AI来改变客户、…

VScode远程开发

VScode远程开发 在SSH远程连接一文中&#xff0c;我么介绍了如何使用ssh远程连接Jetson nano端&#xff0c;但是也存在诸多不便&#xff0c;比如:编辑文件内容时&#xff0c;需要使用vi编辑器&#xff0c;且在一个终端内&#xff0c;无法同时编辑多个文件。本节将介绍一较为实用…

C语言:预处理详解

创作不易&#xff0c;来个三连呗&#xff01; 一、预定义符号 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编…

【Alibaba工具型技术系列】「EasyExcel技术专题」摒除OOM!让你的Excel操作变得更加优雅和安全

摒除OOM&#xff01;让你的Excel操作变得更加优雅和安全 前提概要存在隐患问题解决方案更优秀的选择 EasyExcel的介绍说明技术原理对比POIEasyExcel技术原理图节省内存的开销 Maven仓库依赖基础API介绍&#xff08;参考官方文档&#xff09;实战案例读取Excel实现Demo数据模型D…

跨域原理和解决方案

前置知识 什么是跨域 主要是由于浏览器的同源策略引起的&#xff0c;同源策略是浏览器的安全机制&#xff0c;当 协议&#xff0c;域名&#xff0c;端口 三者有一个不同&#xff0c;浏览器就禁止访问资源。 比如&#xff1a;http://www.company.com:80 http://www.company.…

绝地求生【违规处罚工作公示】1月8日-1月14日

1月8日至1月14日期间&#xff0c;共计对174,636个违规账号进行了封禁&#xff0c;其中164,757个账号因使用外挂被永久封禁。 若您游戏中遇到违规行为&#xff0c;建议您优先在游戏内进行举报&#xff1b; 另外您也可以在官方微信公众号【PUBG国际版】中点击“ 服务中心 - 举报…

【启扬方案】基于RK3568核心板的工业示教器解决方案

机器人作为现代制造业中的重要一环&#xff0c;在生产效率、产品质量和劳动安全等方面带来了巨大的提升&#xff0c;给企业带来了巨大的竞争优势。但机器人的应用存在开发难、安全性差等问题。“示教器”可用丰富的组件解决机器人开发难的问题&#xff0c;且自带的监控功能可提…

[HTML]Web前端开发技术14(HTML5、CSS3、JavaScript )鼠标经过图片显示大图 网页标题:表格标签的综合应用——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

压缩编码之不同缩放参数对重建图像质量的影响的python实现——JPEG变换编码不同压缩率的模拟

原理 JPEG&#xff08;Joint Photographic Experts Group&#xff09;是一种常用的图像压缩标准&#xff0c;它通过采用离散余弦变换&#xff08;DCT&#xff09;和量化来实现图像的压缩。 离散余弦变换&#xff08;DCT&#xff09;&#xff1a; JPEG首先将图像分割成8x8的块…

阿里云国际虚拟数字人服务如何助力企业出海?

随着越来越多的中国企业开始走向全球&#xff0c;越来越多的电商&#xff0c;选择开始走向全球化&#xff0c;对于电商来说&#xff0c;走向全球化的电商直播&#xff0c;所面临语言的问题&#xff0c;随而出现。小语种主播相较于英语主播更不好招聘&#xff0c;在一线城市招聘…