专栏名称: 每日一道算法题
学习算法是一种信仰,每天都需要坚持!
目录
相关文章推荐
51好读  ›  专栏  ›  每日一道算法题

155. Min Stack

每日一道算法题  · 公众号  · 算法  · 2017-06-01 07:27

正文

155. Min Stack


Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.


* push(x) — Push element x onto stack.

* pop() — Removes the element on top of the stack.

* top() — Get the top element.

* getMin() — Retrieve the minimum element in the stack.

Example:


MinStack minStack = new MinStack();

minStack.push(-2);

minStack.push(0);

minStack.push(-3);

minStack.getMin();   —> Returns -3.

minStack.pop();

minStack.top();      —> Returns 0.

minStack.getMin();   —> Returns -2.


提示:提交代码后,需要用简洁的语言解释一下代码思路~ 谢谢


历史题目和总结见公众号「每日一道算法题」


https://leetcode.com/problems/min-stack/#/description




思路一:

用 hash 来保存当前的值 和 与其对应的 最小值。

时间复杂度: O(1);空间复杂度:O(N)








请到「今天看啥」查看全文