Leetcode155實現最小堆

2021-09-11 20:14:16 字數 712 閱讀 2565

設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。

push(x) – 將元素 x 推入棧中。

pop() – 刪除棧頂的元素。

top() – 獲取棧頂元素。

getmin() – 檢索棧中的最小元素。

示例:

minstack minstack = new minstack();

minstack.push(-2);

minstack.push(0);

minstack.push(-3);

minstack.getmin(); --> 返回 -3.

minstack.pop();

minstack.top(); --> 返回 0.

minstack.getmin(); --> 返回 -2.

在原有的基礎上再使用乙個棧來存最小數字,每次壓棧的時候對比一下,如果這個數比存最小的數字的棧的棧頂小或者等於的話,就將其壓入到這個存最小數字的棧中,在彈出的時候,如果彈出的數和最小棧的棧頂數相等的話就將其彈出

class minstack 

public void push(int x)

}public void pop()

}public int top()

public int getmin()

}

leetcode 155 最小棧 c 實現

設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。輸入 minstack push push push getmin pop top getmin 2 0 3 輸出 null,null,null,null,3,null,0,2 解釋 minstack minstack...

leetcode 155 最小棧 C語言

設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 minstack minstack new minstack minstack.push 2 m...

LeetCode 155 最小棧 雙鏈表

155.最小棧 設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 輸入 minstack push push push getmin pop to...