点击(此处)折叠或打开
-
vector<int> maxSlidingWindow(vector<int>& nums, int k){
-
vector<int> res;
-
deque<int> q;
-
int len = nums.size();
-
if(len ==0) return res;
- for(int i=0;i<len;++i){
-
for(;i>0&&q.size()>0&&nums[i]>q.back();) q.pop_back();
- q.push_back(nums[i]);
- if(i>=k &&nums[i-k]==q.front()) q.pop_front();
-
if(i >=k-1) res.push_back(q.front());
-
}
-
return res;
- }