劍指Offer 59 2 佇列的最大值

2021-10-24 02:51:27 字數 771 閱讀 9279

力扣

請定義乙個佇列並實現函式 max_value 得到佇列裡的最大值,要求函式max_value、push_back 和 pop_front 的均攤時間複雜度都是o(1)。

若隊列為空,pop_front 和 max_value 需要返回 -1

示例 1:

輸入:[「maxqueue」,「push_back」,「push_back」,「max_value」,「pop_front」,「max_value」]

[,[1],[2],,,]

輸出: [null,null,null,2,1,2]

queue que;

deque deq; // 記錄最大值

class

maxqueue

public

intmax_value()

public

void

push_back

(int value)

public

intpop_front()

}/**

* your maxqueue object will be instantiated and called as such:

* maxqueue obj = new maxqueue();

* int param_1 = obj.max_value();

* obj.push_back(value);

* int param_3 = obj.pop_front();

*/

劍指Offer系列59 2 佇列的最大值

請定義乙個佇列並實現函式 max value 得到佇列裡的最大值,要求函式max value push back 和 pop front 的均攤時間複雜度都是o 1 若隊列為空,pop front 和 max value 需要返回 1。pythonimport queue class maxqueu...

劍指Offer系列59 2 佇列的最大值

請定義乙個佇列並實現函式max value得到佇列裡的最大值,要求函式max value push back和pop front的均攤時間複雜度都是o 1 若隊列為空,pop front和max value需要返回 1 與上題滑動視窗的最大值類似,用單調佇列即可解決,同時維護乙個輔助佇列即可。cla...

59 2 佇列的最大值

實現乙個函式max能夠得到佇列裡的最大值,並且時間複雜度為o 1 很熟悉,以前做過兩個棧實現乙個棧的min,max函式的,這道題變成了佇列 所以,這裡也能夠有相似的思想,我們能不能兩個雙端佇列實現這個的max函式呢?答案是可以的。不過,deque的一些方法我實現是有點記混了,所以在做這道題時想不起來...