又是需要死记硬背+理解的题目。
题干如下:
代码:
class Solution {
private:class MyQueue{deque<int> que;public:void pop(int value){if(!que.empty() && value == que.front()){que.pop_front();}}void push(int value){while(!que.empty() && value > que.back()){que.pop_back();}que.push_back(value);}int front(){return que.front();}};public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {MyQueue que;vector<int> res;for(int i = 0; i < k; i++){que.push(nums[i]);}res.push_back(que.front());for(int i = k; i < nums.size(); i++){que.pop(nums[i - k]);que.push(nums[i]);res.push_back(que.front());}return res;}
};
我学到了什么:
①某一类下面的public和private都要与class平齐。
②想不出来了,回头再看看。