LeetCode佇列 面試題59 II佇列的最大值

2021-10-03 15:07:28 字數 841 閱讀 7718

題目描述:

請定義乙個佇列並實現函式 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]

示例 2:

輸入: 

["maxqueue","pop_front","max_value"]

[,,]

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

限制:1 <= push_back,pop_front,max_value的總算子 <= 10000

1 <= value <= 10^5

思路:本題是類似求滑動視窗的最大值,佇列pop類似滑動視窗左端右移,佇列push類似滑動視窗右端右移。

具體做法是:使用乙個佇列que來進行pop和push的操作,使用乙個雙向佇列deq來輔助max_value的操作。

class maxqueue 

int max_value()

void push_back(int value)

deq.push_back(value);

} int pop_front()

private:

queueque;

dequedeq;

};

面試題59 II 佇列的最大值

請定義乙個佇列並實現函式 max value 得到佇列裡的最大值,要求函式max value push back 和 pop front 的時間複雜度都是o 1 若隊列為空,pop front 和 max value 需要返回 1 示例 1 輸入 maxqueue push back push ba...

面試題59 II 佇列的最大值

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

訊息佇列面試題

1.訊息丟失,分為三種情況,分別在生產者,mq,消費者上發生 在springcloud中整合amqp,在配置檔案中開啟confirm訊息確認 spring.rabbitmq.publisher confirms true 生產者實現confirm介面 public class customconfi...