preguntas cara cincuenta y nueve: máxima de la cola

 

A Título: máximo de la cola : Dado un tamaño de la matriz y de la ventana deslizante, averiguar el máximo de todos ventana deslizante
método: una abertura prevista en ambos índice de ventana extremos de la cola de almacenamiento máximo; cada ventana es la corriente de cabeza de la máxima valor,
cuando la ventana deslizante; un elemento nuevo en el equipo, el equipo es más pequeño de lo que se suprimiría

Nombre deque es "cola doblemente terminada (deque)" Término

El ArrayList <Integer> MaxInWindows1 ( int [] NUM, int tamaño) { 
          ArrayList <Integer> = Lista nuevo nuevo ArrayList <Integer> (); 
          ArrayDeque <Integer> = Q nueva nueva ArrayDeque <Integer> ();
           SI (NUM == nula | | tamaño <= 0 )
               de retorno Lista;
           // bucle a través de la matriz, el subíndice de matriz añadido a la cola 
          para ( int i = 0; I <num.length; I ++ ) {
               IF (q.isEmpty ()) { 
                   q.add (I); 
              }  
              //El elemento actual número de índice y la cola de procesamiento de la mayor diferencia de primera fase que o igual al tamaño de la ventana deslizante 
              IF (I - q.peekFirst ()> = tamaño) { 
                   q.pollFirst ();          // aparecido desde la cola de primera elemento 
              }
               // el número actualmente procesado que el índice último elemento de la cola se asigna a un gran número 
al mismo tiempo (! q.isEmpty () && NUM [I]> = NUM [q.peekLast ()]) { 
                   q.pollLast ( );    // pop último elemento de la cola               } 
              q.add (I);   // cola se añade al índice de matriz // primer máximo comienzo a número de cola índice elemento añadido a la lista correspondiente a IF (I> = -size 1. ) { 
                   List.add (NUM [q.peekFirst ()]); 
              } 
          } retorno 
     }
              

              
              
              
           Lista;

 

Supongo que te gusta

Origin www.cnblogs.com/niliuxiaocheng/p/12593391.html
Recomendado
Clasificación