Lintcode12 Min Stack solution 題解

【題目描述】

Implement a stack with min() function, which will return the smallest number in the stack.

It should support push, pop and min operation all in O(1) cost.

Notice:min operation will never be called if there is no number in the stack.

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

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

注意:如果堆棧中沒有數字則不能進行min方法的調用

【題目鏈接】

http://www.lintcode.com/en/problem/min-stack/

【題目解析】

利用兩個棧結構,其中一個是主要的正常stack,滿足pop(), push()的O(1)時間要求,另外一個作為輔助的minStack,僅存入min的integer。 min = Integer.parseInt(minStack.peek().toString());

push()時,如果number >= min,則push到minStack上 pop()時,如果number == min,也從minStack上pop

題中的例子,最終stack為[2, 3, 1], minStack為 [2, 1]

【答案鏈接】

http://www.jiuzhang.com/solutions/min-stack/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,776評論 0 33
  • 淘寶網店數據歸誰所有? 誰用的好歸誰,我給你舉個例子。我們今天講大數據是資產,有許多顧客在淘寶逛店,逛店就會留下逛...
    會成長的魚閱讀 495評論 0 2
  • 通過segue跳轉到的界面,都是一個新的實例而不是之前的界面?。。髦档臅r候尤其要記得,不然會出現明明傳值了,但是...
    FishSha閱讀 2,098評論 0 7
  • 每次看到那張普通話證書,我都會想起那年,那位夾壯女同桌的美麗蛻變,像一場電影上演著。 記得那年是大二,那天剛剛進入...
    瀾沐夜閱讀 715評論 0 1
  • 關鍵詞:故障查詢 mail服務器配置 ubuntu 由于項目的需要,在租了幾臺云服務器就是開始折騰。由于是第一次接...
    tianmh閱讀 1,475評論 0 0