博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
41. 包含min函数的栈
阅读量:6267 次
发布时间:2019-06-22

本文共 875 字,大约阅读时间需要 2 分钟。

包含min函数的栈

描述

设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈。

  • push(x)–将元素x插入栈中
  • pop()–移除栈顶元素
  • top()–得到栈顶元素
  • getMin()–得到栈中最小元素

样例

MinStack minStack = new MinStack();minStack.push(-1);minStack.push(3);minStack.push(-4);minStack.getMin();   --> Returns -4.minStack.pop();minStack.top();      --> Returns 3.minStack.getMin();   --> Returns -1.

 

代码

class MinStack {public:    /** initialize your data structure here. */    stack
s; stack
mins; MinStack() { } void push(int x) { if( mins.empty() || x <= mins.top()){ mins.push(x); } s.push(x); } void pop() { if(s.top() == mins.top()) mins.pop(); s.pop(); } int top() { return s.top(); } int getMin() { return mins.top(); }};

 

转载于:https://www.cnblogs.com/llke/p/10780127.html

你可能感兴趣的文章
关于加快INSERT语句执行速度和HINT /*+ append */及/*+ append nologging */的使用
查看>>
JDK源代码学习系列07----Stack
查看>>
firefox
查看>>
PS批处理的使用
查看>>
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 【转】
查看>>
Quartz作业调度框架
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
js-权威指南学习笔记13
查看>>
《超级时间整理术》晨读笔记
查看>>
Spring Boot 2.0(二):Spring Boot 2.0尝鲜-动态 Banner
查看>>
Delphi IdTCPClient IdTCPServer 点对点传送文件
查看>>
Delphi中使用ActiveX的一些心得
查看>>
QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)
查看>>
(原創) C/C++的function prototype和header file (C/C++) (C)
查看>>
深入理解JavaScript系列(29):设计模式之装饰者模式
查看>>
程序员的罪与罚
查看>>
SQL*LOADER错误总结
查看>>
SQL日志收缩
查看>>
【转】MySQL Query Cache 小结
查看>>
SVN分支和合并的简单例子
查看>>