剑指offer:滑动窗口的最大值
滑动窗口的最大值
http://www.nowcoder.com/questionTerminal/1624bc35a45c42c0bc17d17fa0cba788
class Solution { public: vector<int> maxInWindows(const vector<int>& nums, unsigned int k) { vector<int>res; deque<int>q; int ans=100010; for(int i = 0; i < nums.size(); i++){ if(!q.empty() && i-q.front() >= k) q.pop_front(); while(!q.empty()&&nums[q.back()]<nums[i]) q.pop_back(); q.push_back(i); if(i >= k-1){ res.push_back(nums[q.front()]); ans=min(ans,nums[q.front()]); } } return res; cout<<ans; } };