LintCode M 帶min函式的棧

2021-07-25 13:03:43 字數 585 閱讀 8994

帶最小值操作的棧

描述 筆記

資料 評測

實現乙個帶有取最小值min方法的棧,min方法將返回當前棧中的最小值。

你實現的棧將支援push,pop 和 min 操作,所有操作要求都在o(1)時間內完成。

注意事項

如果堆疊中沒有數字則不能進行min方法的呼叫

您在真實的面試中是否遇到過這個題?

樣例 如下操作:push(1),pop(),push(2),push(3),min(), push(1),min() 返回 1,2,1

class minstack 

void push(int number)

int pop()

if (m1.empty()) return -1;

int t = m1.top(); m1.pop();

if (!m2.empty() && m2.top() == t) m2.pop();

return t;

}int min()

private:

stack

m1,m2;

};

演算法題23 帶min函式的棧

題目 定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的 min 函式。在該棧中,呼叫 min push 及 pop 的時間複雜度都是 0 1 分析 要在o 1 的時間獲取最小元素,需要將這個最小元素儲存下來。但只用乙個變數去儲存最小的元素可以嗎?如果在使用棧的過程中將這個最小元素pop出...

LintCode M 複製帶隨機指標的複雜鍊錶

複製帶隨機指標的鍊錶 描述 筆記 資料 評測 給出乙個鍊錶,每個節點包含乙個額外增加的隨機指標可以指向鍊錶中的任何節點或空的節點。返回乙個深拷貝的鍊錶。您在真實的面試中是否遇到過這個題?yes 樣例 挑戰 可否使用o 1 的空間 思路 一開始我的思路演算法比較複雜,然後在 劍指offer 找到原題,...

oracle max 函式和min 函式

當需要了解一列中的最大值時,可以使用max 函式 同樣,當需要了解一列中的最小值時,可以使用min 函式。語法如下。select max column name min column name from table name 說明 列column name中的資料可以是數值 字串或是日期時間資料型別...