Skip to content

Commit

Permalink
Sliding window; Queue
Browse files Browse the repository at this point in the history
  • Loading branch information
GuanhuiGuan authored Jul 14, 2018
1 parent 269d82d commit 154b75f
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions Moving Average from Data Stream.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
class MovingAverage {

long sum = 0;
int size = 0;
Queue<Integer> q = new LinkedList<>();

/** Initialize your data structure here. */
public MovingAverage(int size) {
this.size = size;
}

public double next(int val) {
sum += val;
q.offer(val);
// Pop if exceeds size
if(q.size() > size) {
sum -= q.poll();
}
return (double) (sum) / (double) (q.size());
}
}

/**
* Your MovingAverage object will be instantiated and called as such:
* MovingAverage obj = new MovingAverage(size);
* double param_1 = obj.next(val);
*/

0 comments on commit 154b75f

Please sign in to comment.