題目描述:設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧
push(x) – 將元素 x 推入棧中
pop() – 刪除棧頂的元素
top() – 獲取棧頂元素
getmin() – 檢索棧中的最小元素
示例1:minstack minstack = new minstack();
minstack.push(-2);
minstack.push(0);
minstack.push(-3);
minstack.getmin(); --> 返回 -3.
minstack.pop();
minstack.top(); --> 返回 0.
minstack.getmin(); --> 返回 -2.
/**
* 方法:通過構建兩個棧來實現最小棧
* 思路:stack 裡放元素,minstack 裡棧頂放當前元素中的最小值
*/class
minstack
public
void
push
(int x)
}else
}public
void
pop()}
public
inttop()
public
intgetmin()
}
最小棧實現
最小棧實現 設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。public class minstack public void push int x ...
實現最小棧
class minstack stack stack new stack stack minstack new stack int stack new int 40 int i 0 int minstack new int 40 int j 0 入棧 對兩個棧都要入棧 每次放入之前需要看最小棧 的棧...
實現最小棧
實現乙個這樣的棧,這個棧除了可以進行普通的push pop操作以外,還可以進行getmin的操作,getmin方法被呼叫後,會返回當前棧的最小值。棧裡面存放的都是 int 整數,並且數值的範圍是 100000,100000 要求所有操作的時間複雜度是 o 1 空間複雜度也能o 1 的話可加分。cla...