題目描述:
請定義乙個佇列並實現函式 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...