Espada se refiere a Oferta ------- el valor máximo de la ventana deslizante

Inserte la descripción de la imagen aquí

Enlace de tema!

Idea: esta
pregunta es una pregunta típica para ventanas deslizantes. El punto de conocimiento utilizado es la cola monótona (no olvide el punto de conocimiento de la pila monótona). El valor de la ventana se mantiene a través de la cola de dos extremos para garantizar que el encabezado elemento de la ventana está en este intervalo El mejor valor puede ser.

Código:

class Solution {
    
    
public:
    vector<int> maxSlidingWindow(vector<int>& nums, int k) {
    
    
        deque<int> dq;
        vector<int> ans;
        
        for(int i=0;i<nums.size();++i){
    
    
            if(!dq.empty() && i-dq.front() >= k) dq.pop_front();
            while(!dq.empty() && nums[dq.back()]<=nums[i]){
    
    
                dq.pop_back();
            }
            dq.push_back(i);
            if(i>=k-1) ans.push_back(nums[dq.front()]);
        }
        return ans;
    }
};

Supongo que te gusta

Origin blog.csdn.net/weixin_43743711/article/details/114522526
Recomendado
Clasificación