155. Min Stack
題目網址:https://leetcode.cn/problems/min-stack/
題意:設計一個支持
push、pop、top操作, 並且能在 $O(1)$ time 得到最小元素的 stack。實作
MinStackclass:
MinStack():初始化 instancevoid push(int val):將valpush 到 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!
評論