Moving Average from Data Stream -- LeetCode
2016-08-13 10:56
513 查看
Given a stream of integers and a window size, calculate the moving average of all integers in the sliding window.
For example,
For example,
MovingAverage m = new MovingAverage(3); m.next(1) = 1 m.next(10) = (1 + 10) / 2 m.next(3) = (1 + 10 + 3) / 3 m.next(5) = (10 + 3 + 5) / 3
class MovingAverage { private: queue<int> numsInWindow; int windowSize; double lastAverage; public: /** Initialize your data structure here. */ MovingAverage(int size) { windowSize = size; } double next(int val) { if (numsInWindow.empty()) { numsInWindow.push(val); lastAverage = (double) val; } else if (numsInWindow.size() < windowSize) { double total = lastAverage * numsInWindow.size(); numsInWindow.push(val); lastAverage = (total + val) / numsInWindow.size(); } else { double total = lastAverage * numsInWindow.size(); total -= numsInWindow.front(); numsInWindow.pop(); numsInWindow.push(val); lastAverage = (total + val) / numsInWindow.size(); } return lastAverage; } }; /** * Your MovingAverage object will be instantiated and called as such: * MovingAverage obj = new MovingAverage(size); * double param_1 = obj.next(val); */
相关文章推荐
- Leetcode Everyday: 346. Moving Average from Data Stream
- Leetcode: Moving Average from Data Stream
- [leetcode] 346. Moving Average from Data Stream 解题报告
- [LeetCode] Moving Average from Data Stream 从数据流中移动平均值
- [Leetcode] 346. Moving Average from Data Stream 解题报告
- Leetcode 346 Moving Average from Data Stream
- LeetCode Moving Average from Data Stream
- [LeetCode] 346. Moving Average from Data Stream 从数据流中移动平均值
- Moving Average from Data Stream
- 346. Moving Average from Data Stream
- Moving Average from Data Stream
- Moving Average from Data Stream
- Moving Average from Data Stream
- 346. Moving Average from Data Stream
- 346. Moving Average from Data Stream
- Moving Average from Data Stream
- Moving Average from Data Stream
- 346. Moving Average from Data Stream
- [LeetCode] Find Median from Data Stream
- [LeetCode][Java]Find Median from Data Stream