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

LeetCode 刷题【22. 括号生成】

22. 括号生成

自己做(憋不出来)

看题解

解1:暴力解(遍历所有可能)

解2:优化的暴力解

解3:递归

class Solution {shared_ptr<vector<string>> cache[100] = {nullptr};
public:shared_ptr<vector<string>> generate(int n) {if (cache[n] != nullptr)return cache[n];if (n == 0) {cache[0] = shared_ptr<vector<string>>(new vector<string>{""});} else {auto result = shared_ptr<vector<string>>(new vector<string>);for (int i = 0; i != n; ++i) {auto lefts = generate(i);auto rights = generate(n - i - 1);for (const string& left : *lefts)for (const string& right : *rights)result -> push_back("(" + left + ")" + right);}cache[n] = result;}return cache[n];}vector<string> generateParenthesis(int n) {return *generate(n);}
};

今日总结

告辞,玩不了一点,这怎么想到复杂度这么高的暴力解(脑子都自动排除了),还有都没有考虑n有上限并且输出结果数量有限的问题,之前就屡次被溢出折磨的不成人样。这么玩的话,面向结果编程——列表

http://www.lryc.cn/news/605302.html

相关文章:

  • Winform 渐变色 调色板
  • 代码随想录算法训练营第五十六天|动态规划part6
  • C语言基础11——结构体1
  • AutoSAR(MCAL) --- ADC
  • VoIP技术全面深度学习指南:从原理到实践的认知进化
  • 【GEO从入门到精通】生成式引擎与其他 AI 技术的关系
  • Linux ARM 平台 C 语言操作 Excel 文件的常用库与工具汇总(支持 xls 和 xlsx)
  • Linux基本指令,对路径的认识
  • SringBoot入门
  • uvm-tlm-sockets
  • 关于MyBatis 的懒加载(Lazy Loading)机制
  • 腾讯云市场排名
  • linux进程概念(三)进程状态
  • COZE 开源,新一代 AI Agent 本地部署一条龙
  • 借助 Wisdom SSH 的 AI 助手构建 Linux 开发环境
  • 2. Agent与 React流程
  • 智能Agent场景实战指南 Day 26:Agent评估与性能优化
  • 【面试场景题】随机立减金额计算
  • 三十四、【Linux常用工具】rsync+inotify实时同步演示
  • 游卡,快手26届秋招内推
  • Cortex-M处理器的优势?
  • 解决Nginx的HTTPS跨域内容显示问题
  • Linux日志管理和时钟同步配置指南
  • DFT设计中的不同阶段介绍
  • 【C语言类型转换坑】乘法溢出隐患发现与正确写法
  • 嵌入式系统分层开发:架构模式与工程实践(二)(创建任务篇(二))
  • CSS-in-JS 动态主题切换与首屏渲染优化
  • 人类语言驱动物理机制建模的AIVC
  • Zynq SoC 中断控制系统设计与实现:基于 GPIO 的中断驱动开发
  • 亚马逊Kiro重塑AI编程:从“氛围编码”到规范驱动的革命