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

力扣155题 最小栈

解题过程:

1.两个栈,一个正常栈,一个记录最小值的栈

2.为了方便,最小栈stk2预先压入INT_MAX

3.push的时候,stk1正常压入,stk2根据自己的栈顶和val压入较小值

4.pop和top正常pop和top

5.getMin返回tk2的栈顶

6.空间复杂度,维护记录最小值的栈需要O(N)的空间。

 

class MinStack {
public:
    MinStack() {
        stk2.push(INT_MAX);
    }
   
    void push(int val) {
        stk1.push(val);
        stk2.push(min(stk2.top(),val));
    }
   
    void pop() {
       stk1.pop();
       stk2.pop();
    }
   
    int top() {
        return stk1.top();
    }
   
    int getMin() {
        return stk2.top();
    }
private:
    stack<int>stk1,stk2;
};
http://www.hskmm.com/?act=detail&tid=15857

相关文章:

  • Markdown语法
  • 压垮项目经理的“三座大山”:时间、成本、质量的生存法则与破局工具
  • 最新微信机器人开发教程
  • 金蝶AAS (Apusic Application Server) v10 部署SuperMap iServer 2025 详细教程
  • AI智能会话原型解析:知识问答与知识库管理的设计思路(附模版)
  • Linux - Nginx 文件访问403 forbidden = 授权 chmod -R 777 文件名称
  • 爬虫逆向--Day25Day26--原型链补环境
  • 阻抗匹配技术:信号完整性与功率传输的基石​​
  • 萝卜视频小程序管理系统:多场景适配的短视频商业解决方案
  • 栈与队列专题
  • 读书笔记:为什么你的索引“罢工”了?六种常见原因解析
  • 平面网格材质
  • OSCP备考成功指南:9大实用学习技巧
  • 设备租赁系统:建材租赁行业的高效管理解决方案
  • NOI 2025 题解
  • 迈特海外短剧多语言版 SAAS 开源系统:助力短剧出海,开启全球盈利新赛道
  • 临时测试php文件
  • csv文件中的空行问题
  • 直播点播会议一体,EasyDSS如何用一个平台解决企业所有视频难题?
  • 在 C++ 中实现反射机制并不一定必须使用宏
  • 在CodeBolcks下wxSmith的C++编程教程——使用多个表单(多窗口程序)
  • Windows下Tesseract-OCR的安装与使用
  • 学习 React 前,你必须掌握的 10 个 JavaScript 核心概念
  • 二维下标极大数组(二维 map)
  • PySide6 之自定义弹出框
  • CF932E Team Work
  • HTTP3与HTTP2的性能对比
  • KubeSphere 社区版即将发布:开启云原生新篇章
  • 答题互动网页收藏
  • 芯脉:面向高速接口的SoC架构与完整性设计<3> - 教程