346. Moving Average from Data Stream

class MovingAverage {
    int size;
    Queue<Integer> nums;
    double sum;
    /** Initialize your data structure here. */
    public MovingAverage(int size) {
        this.size = size;
        this.nums = new LinkedList<Integer>();
        this.sum = 0;
    }

    public double next(int val) {
        if (nums.size()<size){
            nums.offer(val);
            sum+= val;
        } else {
            int temp = nums.peek();
            nums.poll();
            nums.offer(val);
            sum+=val-temp;
        }
        return sum/nums.size();

    }
}

results matching ""

    No results matching ""