Lintcode 帶最小值的棧

2021-07-11 07:04:10 字數 508 閱讀 9926

帶最小值操作的棧

描述 筆記

資料 評測

實現乙個帶有取最小值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...