牛客題霸 滑動視窗的最大值 C 題解 答案

2021-10-11 03:11:36 字數 368 閱讀 4317

牛客題霸 [滑動視窗的最大值] c++題解/答案

給定乙個陣列和滑動視窗的大小,找出所有滑動視窗裡數值的最大值。例如,如果輸入陣列及滑動視窗的大小3,那麼一共存在6個滑動視窗,他們的最大值分別為; 針對陣列的滑動視窗有以下6個: , , , , , 。

視窗大於陣列長度的時候,返回空

暴力做法

列舉乙個開段,然後檢視長度為size的區間內最大值,不斷存入新的vector裡

記得當size>len時要返回空

class solution 

sum.

push_back

(maxx);}

return sum;}}

;

c 滑動視窗最大值

暴力的時間複雜度是o nk vector int comp vector int v vector int maxinwindows vector int num,unsigned int size 此時獲取視窗中的最大值的複雜度為o k 那麼如何將o k 的複雜度變為o 1 是我們該考慮的地方。我...

滑動視窗的最大值(C )

題目 給定乙個陣列和滑動視窗的大小,找出所有滑動視窗裡數值的最大值。例如,如果輸入陣列及滑動視窗的大小3,那麼一共存在6個滑動視窗,他們的最大值分別為 針對陣列的滑動視窗有以下6個 思路 使用雙向佇列,儲存當前佇列中的最大值位置,如果新滑入的值大於當前佇列尾部的元素,則彈出佇列尾部所有小於新值的元素...

刷題 滑動視窗的最大值

給定乙個陣列和滑動視窗的大小,找出所有滑動視窗裡數值的最大值。例如,如果輸入陣列及滑動視窗的大小3,那麼一共存在6個滑動視窗,他們的最大值分別為 針對陣列的滑動視窗有以下6個 如果採用蠻力法,掃瞄每乙個滑動視窗並找出最大值,時間複雜度會比較高。這裡我們採用乙個雙端佇列來處理這個問題,佇列存放陣列下標...