LeetCode: Min Stack最小值棧

睡不著,起來寫道題

言歸正傳:

  • 其實這道題很簡單,不過我之前騰訊的實習生面試的時候還遇到過這道題,所以還是可以做做,其實最主要的思路就是一點,創(chuàng)建一個新的棧min用來記錄在當前狀態(tài)下本來那個棧stk的最小值.最小值就是min棧的棧頂。
class MinStack {
public:
    stack<int> stk;
    stack<int> min;
    void push(int x) {
        stk.push(x);
        if(min.empty() || x<=min.top())
        {
            min.push(x);
        }
    }

    void pop() {
        if(min.top() == stk.top()) 
        {
            min.pop();
        }
        stk.pop();
    }

    int top() {
       return stk.top();
    }

    int getMin() {
        return min.top();
    }
};
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,381評論 25 708
  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,771評論 0 33
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評論 18 399
  • 20170924 第十組李文艷 #只有感覺好才會做得好!# 孩子第一個30天目標:在30分鐘內(nèi)吃完飯 媽媽第一個3...
    文子16閱讀 124評論 0 0
  • 事件是中立的,好壞是非對錯,不是取決于事件本身,而是取決于觀察者,取決于觀察者對它的看法!看法決定做法,做法決定...
    安清King閱讀 1,831評論 0 5