155 最小棧(JS實現)

2021-10-08 20:43:53 字數 1223 閱讀 5244

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

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

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

top() —— 獲取棧頂元素。

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

示例:輸入:

[「minstack」,「push」,「push」,「push」,「getmin」,「pop」,「top」,「getmin」]

[,[-2],[0],[-3],,,,]

輸出:[null,null,null,null,-3,null,0,-2]

解釋:minstack minstack = new minstack();

minstack.push(-2);

minstack.push(0);

minstack.push(-3);

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

minstack.pop();

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

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

這道題主要點在於在常數時間獲取當前最小的元素,方法就是在每個元素中儲存乙個當時的最小值,

/**

* initialize your data structure here.

*/var

minstack

=function()

;/**

* @param x

* @return

*/minstack.prototype.

push

=function

(x));}

else);

}};/**

* @return

*/minstack.prototype.

pop=

function()

;/**

* @return

*/minstack.prototype.

top=

function()

;/**

* @return

*/minstack.prototype.

getmin

=function()

;

155實現最小棧

題意 設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。方法一 使用輔助棧class minstack def init self self.stack...

155 最小棧 C 實現

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

leetcode 棧 155 最小棧

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