帶最小值操作的棧
描述 筆記
資料 評測
實現乙個帶有取最小值min方法的棧,min方法將返回當前棧中的最小值。
你實現的棧將支援push,pop 和 min 操作,所有操作要求都在o(1)時間內完成。
您在真實的面試中是否遇到過這個題? yes
注意事項
如果堆疊中沒有數字則不能進行min方法的呼叫
樣例 如下操作:push(1),pop(),push(2),push(3),min(), push(1),min() 返回 1,2,1
要注意的是,返回了當前棧中最小值後,還要能繼續返回次最小值。所以不能只用乙個變數標記最小值。
class minstack
void push(int number) else
}int pop()
int min()
return
this->s_min.top();
}};
LintCode 12 帶最小值操作的棧
實現乙個帶有取最小值min方法的棧,min方法將返回當前棧中的最小值。你實現的棧將支援push,pop 和 min 操作,所有操作要求都在o 1 時間內完成。注意事項 如果堆疊中沒有數字則不能進行min方法的呼叫如下操作 push 1 pop push 2 push 3 min push 1 min...
LintCode練習 12 帶最小值操作的棧
題目描述 實現乙個帶有取最小值min方法的棧,min方法將返回當前棧中的最小值。你實現的棧將支援push,pop 和 min 操作,所有操作要求都在o 1 時間內完成。樣例如下操作 push 1 pop push 2 push 3 min push 1 min 返回 2,1 思路 使用兩個列表mda...
Lintcode 12 帶最小值操作的棧
中文english 實現乙個棧,支援以下操作 要求 o 1 開銷.樣例 2 輸入 push 1 min push 2 min push 3 min 輸出 1 1 1保證棧中沒有數字時不會呼叫min 借助最小輔助棧,每次呼叫min方法,返回最小輔助棧的棧頂元素 public class minstac...