题解 | 滑动窗口的最大值
滑动窗口的最大值
https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788
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; } };