【力扣 041. 数据流中的移动平均值 题解】
Problem: 力扣 041. 数据流中的移动平均值
思路
在初始化时创建一个数组缓存值,sum缓存和,size缓存数组大小
解题方法
sum = sum - oldVal + newVal
复杂度
-
时间复杂度: O ( 1 ) O(1) O(1)
-
空间复杂度: O ( s i z e ) O(size) O(size)
Code
class MovingAverage {
int size;
int length = 0;
int sum;
int[] nums ;
/** Initialize your data structure here. */
public MovingAverage(int size) {
this.size = size;
nums = new int[size];
}
public double next(int val) {
sum = sum - nums[length % size] + val;
nums[length % size] = val;
length++;
return (sum*1.0)/Math.min(length,size);
}
}