每日一題 最小棧問題

2021-09-02 20:36:31 字數 734 閱讀 8363

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

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

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

top() – 獲取棧頂元素。

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

示例:

minstack minstack = new minstack();

minstack.push(-2);

minstack.push(0);

minstack.push(-3);

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

minstack.pop();

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

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

class minstack 

public void push(int x)

if(x > data.get(data.size()-1))

}public void pop()

}public int top()

public int getmin()

}

雙進雙齣,最小為棧頂元素

每日一題18 棧

用c 寫了乙個棧模板,其間用了一些 effective c 的準則,記錄在這裡嘍。這個類還沒有做到異常安全,以後改進!stack.h檔案。ifndef stack h define stack h namespace mydatastructure void init int capacity vo...

每日一題 獎金問題

一 問題描述 二 問題分析 涉及資料 利潤profit,獎金bonus 資料間的關係 當profit 10w,bonus profit 0.1 當profit 20w,bonus 100000 0.1 profit 100000 0.075 三 由使用者輸入乙個利潤,並將輸入轉換為整數型方便進行比較...

每日一題 過橋問題

問題描述 今天偶然在 讀者 上看到了益智問題 試著解了一下,感覺還是很有意思,google了一下,晚上都說是微軟面試題,但是我找了找,在 how to slove it 這本書中就有提到。不知道是誰cp的誰的。好吧,說說問題 u2合唱團在17分鐘內得趕到演唱會,途中必須經過一座橋,4個人從橋的同一端...