又是需要死记硬背+理解的题目。
题干如下:
代码:
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平齐。
②想不出来了,回头再看看。