vector<int> maxSlidingWindow(vector<int> &nums, int k) {
vector<int> v;
deque<int> d;
for (int i = 0; i < nums.size(); i++) {
//维护长度
if (!d.empty() && i - k >= d.front()) d.pop_front();
//单调递减的队列
while (!d.empty() && nums[d.back()] <= nums[i]) d.pop_back();
d.emplace_back(i);
//窗口大小等于k
if (i >= k - 1) v.emplace_back(nums[d.front()]);
}
return v;
}
239. 滑动窗口最大值
最新推荐文章于 2024-06-13 16:45:40 发布