class Solution {
public:
vector<int> maxSlidingWindow(vector<int>& nums, int k) {
if (nums.size() == 0) {
return {};
}
deque<int> q;
vector<int> ans;
for (int i = 0; i < nums.size(); i++) {
if (i >= k && i - k == q.front()) {
q.pop_front();
}
while (!q.empty() && nums[q.back()] < nums[i]) {
q.pop_back();
}
q.push_back(i);
if (i >= k - 1) {
ans.push_back(nums[q.front()]);
}
}
return ans;
}
};
窗口的最大值
最新推荐文章于 2021-07-29 23:46:44 发布