classSolution { public: intget_que_max(queue<int> &slide_que) { int ele_num = slide_que.size(); int max_ele = slide_que.front(); for (int i = 0; i < ele_num; i++) { auto ele_tmp = slide_que.front(); slide_que.pop(); if (max_ele < ele_tmp) max_ele = ele_tmp; slide_que.push(ele_tmp); } return max_ele; }
vector<int> maxSlidingWindow(vector<int>& nums, int k){ queue<int> slide_que; vector<int> res;
for (int i = 0; i < k; i++) slide_que.push(nums[i]); res.push_back(get_que_max(slide_que)); for (int i = k; i < nums.size(); i++) { slide_que.pop(); slide_que.push(nums[i]); res.push_back(get_que_max(slide_que)); }