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

最小栈 _ _

一:题目

二:思路

解释:一个栈名为st,其用来正常的出入栈,一个栈名为minst,其的栈顶元素一定是最小的元素

入栈:第一个元素,两个栈一起入,后面再入栈,只有入栈的元素,小于minst的栈顶,minst才会入栈,反之入栈的元素大于等于minst的栈顶元素,则minst继续入自己的栈顶元素

出栈:出栈的时候,二者一起出,这才能让st的元素和minst同步

优化:

 解释:

入栈:第一个元素,两个栈一起入,后面再入栈,只有入栈的元素,小于等于minst的栈顶,minst才会入栈

出栈:只有st即将出栈的栈顶元素和minst的栈顶元素一样,后者才出栈

三:代码(优化版本的)

解释:

值得一提的是,改题目类中的构造函数什么都不写和直接删了都能过

因为

  • 不写构造函数

    • 编译器会生成默认构造函数。

    • 默认构造函数会调用成员变量的默认构造函数。

    • 对于 stack<int>,默认构造函数会初始化空栈。

  • 写了构造函数但内容为空

    • 编译器会调用你定义的构造函数。

    • 你定义的构造函数不会做任何额外的初始化操作。

    • 成员变量的默认构造函数仍然会被调用,初始化空栈。


http://www.kler.cn/a/577554.html

相关文章:

  • 【Ant Design X Vue】Vue 首个 AI 组件库发布!
  • HJ C++11 Day2
  • LeetCode - 神经网络的 反向传播(Sigmoid + MSE) 教程
  • SpringBoot过滤器(Filter)的使用:Filter接口、FilterRegistrationBean类配置、@WebFilter注释
  • 深入浅出解析 FreeRTOS 软件定时器 定时器服务任务:机制、API 详解及实践应用
  • Selenium遇到Exception自动截图
  • 刷题记录(LeetCode452 用最少数量的箭引爆气球)
  • DeepSeek×博云AIOS:突破算力桎梏,开启AI普惠新纪元
  • 【docker远程响应】
  • 解决电脑问题(8)——网络问题
  • 【竞技宝】LOL:Kanavi备战全球先锋赛苦练新打野?
  • 【音视频】RTP封包H265信息
  • VS2022安装Framework 4.0和.NET Framework 4.5
  • XMall商城listSearch存在SQL注入漏洞(DVB-2025-8924)
  • 启动/关闭jar服务shell脚本【Linux】
  • 系统架构设计师—系统架构设计篇—架构设计与生命周期
  • 配置 Thunderbird 以使用 QQ 邮箱
  • 打造智能聊天体验:前端集成 DeepSeek AI 助你快速上手
  • android13打基础: 保存用户免得下次重新登录逻辑
  • 【GPT入门】第7课 LTM介绍