Categorías
Algorithms

LeetCode – Promedio móvil de flujo de datos (Java)

Dada una secuencia de enteros y un tamaño de ventana, calcule el promedio móvil de todos los enteros en la ventana deslizante.

Solución Java

Este problema se resuelve utilizando una cola.

class MovingAverage {
    double sum;
    int size;
    LinkedList<Integer> list;
 
    /** Initialize your data structure here. */
    public MovingAverage(int size) {
        this.list = new LinkedList<>();
        this.size = size;
    }
 
    public double next(int val) {
        sum += val;
        list.offer(val);
 
        if(list.size()<=size){
            return sum/list.size();
        }
 
        sum -= list.poll();
 
        return sum/size;
    }
}

  LeetCode - 3Sum Closest (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *