題目:請定義乙個佇列並實現函式 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。會求得最大值為2,隊頭元素的2。[,[1],[2],,,]
輸出: [null,null,null,2,1,2]
示例 2:
輸入: [「maxqueue」,「pop_front」,「max_value」][,,]
輸出: [null,-1,-1]
class
maxqueue
intmax_value()
//找最大元素}}
return max;
}void
push_back
(int value)
intpop_front()
return queue[qt++];
//每次要把這個隊頭刪除
}private
: vector<
int> queue;
int qt;
//隊頭
int qw;
//隊尾};
intmain()
int param_1 = obj-
>
max_value()
; cout
>
pop_front()
; cout
>
pop_front()
; cout<}
通過這個題,要知道實現棧或者佇列,我們可以借用已有的資料結構來實現。加油哦!?。 佇列的最大值
題目 給定乙個陣列和滑動視窗的大小,請找出所有滑動視窗裡的最大值。例如,如果輸入陣列及滑動視窗的大小3,那麼一共存在6個 滑動視窗,它們的最大值分別為,include include include using namespace std templateclass queuewithmax voi...
佇列的最大值
示例 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 2.1 思路...
滑動視窗的最大值 佇列的最大值
請定義乙個佇列並實現函式max得到佇列裡的最大值,要求函式max push back和 pop front的時間複雜度都是o 1 在佇列中維護乙個儲存最大值的佇列,當pop和push操作的同時也對最大值佇列進行維護。當彈出的時佇列中的最大值時,也彈出最大值佇列的頭,當壓入新值時,對最大值佇列從後向前...