155. Min Stack
題目網址:https://leetcode.cn/problems/min-stack/
題意:設計一個支持
push
、pop
、top
操作, 並且能在 $O(1)$ time 得到最小元素的 stack。實作
MinStack
class:
MinStack()
:初始化 instancevoid push(int val)
:將val
push 到 stack 中void pop()
:移除 stack 頂端元素void top()
:得到 stack 頂端元素int getMin()
:得到 stack 中的最小元素
Solution:
想法:利用兩個 Stack, 其中 stack
stk
紀錄元素 push / pop 的過程, 另一個 stackminStk.top()
紀錄每一次 push 元素到stk
後, 當前stk
中的的最小值
class MinStack { |
- time:皆為 $O(1)$
- space:$O(n)$ ➔
stk
的元素個數最多為n
,minStk
的元素個數最多為n + 1
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論