class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param num int整型vector
* @param size int整型
* @return int整型vector
*/
vector<int> maxInWindows(vector<int>& num, int size) {
deque<int> q;
vector<int> ans;
if (size == 0 || size > num.size()) return {};
for (int i = 0; i < num.size(); i++) {
if (!q.empty() && i - size + 1 > q.front()) q.pop_front();
while (!q.empty() && num[i] >= num[q.back()]) q.pop_back();
q.push_back(i);
if (i >= size - 1) ans.push_back(num[q.front()]);
}
return ans;
}
};