刷題 棧和佇列(2)

2022-09-19 20:27:08 字數 1036 閱讀 9280

一、題目

二、題目理解

1.用棧實現,所以既要滿足找到最小值,同時元素位置沒有變

我們可以用兩個棧進行實現,乙個主棧存放元素,另乙個副棧存放最小值,每當需要最小值的時候,我就top出副棧即可,需要當前位置的時候,top出主棧。

三、**展示

1/**

2* initialize your data structure here.3*/

4var minstack = function

() ;89

/**

10* @param x

11* @return

12*/

13 minstack.prototype.push = function

(x) ;

1920/**

21* @return

22*/

23 minstack.prototype.pop = function

() ;

2728/**

29* @return

30*/

31 minstack.prototype.top = function

() ;

3536/**

37* @return

38*/

39 minstack.prototype.min = function

() ;

4243/**

44* your minstack object will be instantiated and called as such:

45* var obj = new minstack()

46* obj.push(x)

47* obj.pop()

48* var param_3 = obj.top()

49* var param_4 = obj.min()

50*/

刷題 棧和佇列

一 因為有太多遺忘的東西了,所以做題速度會很慢 現在理解題目,把題目理解好了,然後去看題解,看完題解,在去搜尋相關知識點進行補充。二 題目 三 理解 棧 先進後出 佇列 先進先出 要滿足題目的要求,我們要把棧底輸出出來,我們可以把棧倒著輸出,就可以滿足佇列的先進先出。所以我們需要兩個棧來,第乙個棧是...

LeetCode刷題(二) 鍊錶 棧和佇列

1.merge two sorted listsclass solution else p p next if l1 p next l2 if l2 p next l1 return head next 2.partiton list 給出乙個鍊錶和乙個值x,以x為參照將鍊錶劃分成兩部分,使所有小於...

c 刷題(3 100)數獨,棧和佇列

stack的基本操作 s.size 返回棧中的元素數量 s.empty 判斷棧是否為空,返回true或false s.push 元素 返回對棧頂部 元素 的可變 可修改 引用 s.pop 刪除棧頂元素,型別為void,但並不返回被刪除的元素 s.top 返回棧頂,不刪除 s1 s2 若成立,表明s1...