首页 > 代码库 > Moving Average from Data Stream
Moving Average from Data Stream
Given a stream of integers and a window size, calculate the moving average of all integers in the sliding window.
For example,
MovingAverage m = new MovingAverage(3);m.next(1) = 1m.next(10) = (1 + 10) / 2m.next(3) = (1 + 10 + 3) / 3m.next(5) = (10 + 3 + 5) / 3
1 class MovingAverage { 2 public: 3 /** Initialize your data structure here. */ 4 MovingAverage(int size) { 5 windowSize = size; 6 count = 0; 7 currentSum = 0; 8 } 9 10 double next(int val) {11 value.push_back(val);12 currentSum += val;13 count++;14 if (count > windowSize) {15 currentSum -= value[count - 1 - windowSize];16 return currentSum / windowSize;17 }18 return currentSum / count;19 }20 private:21 int windowSize;22 int count;23 double currentSum;24 vector<int> value;25 };26 27 /**28 * Your MovingAverage object will be instantiated and called as such:29 * MovingAverage obj = new MovingAverage(size);30 * double param_1 = obj.next(val);31 */
Moving Average from Data Stream
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。