銆愬墤鎸噊ffer銆戙€愭爤銆?0.鍖呭惈min鍑芥暟鐨勬爤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了銆愬墤鎸噊ffer銆戙€愭爤銆?0.鍖呭惈min鍑芥暟鐨勬爤相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/called' title='called'>called   ==   return   int   struct   call   鍖呭惈min鍑芥暟鐨勬爤   oid   str   

鍖呭惈min鍑芥暟鐨勬爤

缁存姢涓や釜鏍堬細鏍坰t瀛樺偍鎵€鏈夊厓绱?minSt鏄竴涓崟璋冩爤锛屾爤椤跺厓绱犱负min
    1. 鍏ユ爤锛歴t.push(x); 鑻inSt.top >= x鎴杕inSt涓虹┖锛寈鍏ユ爤minSt
    2. 鍑烘爤锛氳嫢minSt涓巗t鏍堥《鍏冪礌鐩稿悓锛屽垯浜岃€呴兘鍑烘爤锛屽惁鍒檚t鍑烘爤
    3. 鑾峰彇鏈€灏忓€硷細鑻inSt涓嶄负绌猴紝杩斿洖minSt鏍堥《鍏冪礌

class MinStack {
    
public:
    stack<int> st;
    stack<int> minSt;
    /** initialize your data structure here. */
    MinStack() {
 
    }
    
    void push(int x) {
        st.push(x);
        if(minSt.empty() || minSt.top() >= x) minSt.push(x);
    }
    
    void pop() {
        if(minSt.top() == st.top()) minSt.pop();
        if(!st.empty()) st.pop();
    }
    
    int top() {
        if(!st.empty()) return st.top();
        else return -1;
    }
    
    int getMin() {
        if(!minSt.empty()) return minSt.top();
        else return -1;
    }
};

/**
 * Your MinStack object will be instantiated and called as such:
 * MinStack obj = new MinStack();
 * obj.push(x);
 * obj.pop();
 * int param_3 = obj.top();
 * int param_4 = obj.getMin();
 */

以上是关于銆愬墤鎸噊ffer銆戙€愭爤銆?0.鍖呭惈min鍑芥暟鐨勬爤的主要内容,如果未能解决你的问题,请参考以下文章

oracle merge鍚屾椂鍖呭惈澧炪€佸垹銆佹敼

鍗佷竷銆乨bms_tts(妫€鏌ヨ〃绌洪棿闆嗗悎鏄惁鏄嚜鍖呭惈)

瀹夊啘瀛︿範璧勬枡路C璇█

瀹夊啘瀛︿範璧勬枡路C璇█绋嬪簭璁捐