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

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.xdnf.cn/news/16600.html

相关文章:

  • YOLO---01目标检测基础
  • C++提高编程学习--模板
  • 跳跃表可视化深度解析:动态演示数据结构核心原理
  • flutter 记录一个奇怪的问题
  • RAG实战指南 Day 28:RAG系统缓存与性能优化
  • ica1靶机攻略
  • 【 建模分析回顾】[MultiOutputClassifier]MAP - Charting Student Math Misunderstandings
  • Jaeger理论、实战、问题记录
  • UDP通讯和TCP通讯的区别-UDP(用户数据报协议)和 TCP(传输控制协议)
  • Docker-01.Docker课程介绍
  • 【25届数字IC秋招总结】面试经验12——海康威视
  • Rabbit MQ的消息模式-Java原生代码
  • C#_创建自己的MyList列表
  • (LeetCode 面试经典 150 题) 141. 环形链表(快慢指针)
  • JavaWeb 核心:AJAX 深入详解与实战(Java 开发者视角)
  • 黑客入门-记一次敏感信息泄露导致的越权以及XSS姿势(含信息搜集思路)
  • Linux ARM 平台 C 语言操作 Excel 文件的常用库与工具汇总(支持 xls 和 xlsx)
  • 小程序端基于 AI 的语音交互功能深度开发
  • Three.js + AI:结合 Stable Diffusion 生成纹理贴图
  • PSO-TCN-BiLSTM-MATT粒子群优化算法优化时间卷积神经网络-双向长短期记忆神经网络融合多头注意力机制多特征分类预测/故障诊断Matlab实现
  • Python在自动化与运维领域的核心角色:工具化、平台化与智能化
  • Spring-rabbit使用实战四
  • 若依前后端分离版学习笔记(四)——目录文件及主配置文件介绍
  • Go语言核心知识点补充
  • StringJoiner
  • 【Lua】元表常用属性
  • STM32CubeIDE新建项目过程记录备忘(二) GPIO输出demo:LED闪烁
  • 【读论文】Step-Audio 2 深度解读:迈向工业级语音交互的「全能型选手」
  • 【AlphaFold3】网络架构篇(7)| 详解Diffusion training set-up
  • Apache Ignite 2.8 引入的新指标系统(New Metrics System)的完整说明