带最小值操作的栈 · Min Stack

Posted 排序和map

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带最小值操作的栈 · Min Stack相关的知识,希望对你有一定的参考价值。

[抄题]:

实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。

你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。

[思维问题]:

[一句话思路]:

用一个minstack来辅助实现

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. 主函数中,数据结构为类+名 类是Stack<Integer>
  2. minStack.empty() == true 或者isempty
  3. 取顶是.peek()
  4. pop分为两种情况:二者peak相等的、不相等的 minStack.pop(); 方法加点来用

[总结]:

[复杂度]:Time complexity: O() Space complexity: O()

[英文数据结构,为什么不用别的数据结构]:

[其他解法]:

[Follow Up]:

[题目变变变]:

以上是关于带最小值操作的栈 · Min Stack的主要内容,如果未能解决你的问题,请参考以下文章

lintcode 12 带最小值操作的栈

最小栈

最小栈

leetcode 155. Min Stack最小栈(中等)

包涵min函数的栈

包含min函数的栈