Moving Average of An Input Stream
来源:互联网 发布:mac xlsx文件怎么打开 编辑:程序博客网 时间:2024/06/06 19:45
Moving Average of An Input Stream. The size of a window is n
For example:
input = [1, 1, 2, 3, 3, 4, 4, 4, 5.....], n = 3;
moving average = [1, 1, 1.33, 2, 2.67, 3.33, 3.67, 4, 4.33...]
public void movingAverage(Stream input, int windowSize)
最下面的做法不是动态的,改为如下,同时也得改之前的另一道题。
public class MovingAverage { Queue<Integer> list; int size = 0; int sum = 0; /** Initialize your data structure here. */ public MovingAverage(int size) { list = new LinkedList<>(); this.size = size; } public double next(int val) { double result = 0.0; if (list.size() < size) { sum = sum + val; list.offer(val); result = (double)sum / list.size(); } else { int deletedNum = list.poll(); sum = sum - deletedNum; sum = sum + val; result = (double)sum / size; list.offer(val); } return result; }}/** * Your MovingAverage object will be instantiated and called as such: * MovingAverage obj = new MovingAverage(size); * double param_1 = obj.next(val); */
import java.text.DecimalFormat;public class MovingAverage {private static DecimalFormat df2 = new DecimalFormat(".##");public static void main(String[] args) {// TODO Auto-generated method stubint[] array = {1, 1, 2, 3, 3, 4, 4, 4, 5};double[] arrays = movingAverage(array, 3);for (double d: arrays) {//System.out.format("%.2f",d);//System.out.println("");System.out.println(df2.format(d));}}private static double[] movingAverage(int[] array, int n) {double[] res = new double[array.length];int sum = 0;for (int i = 0; i < array.length; i++) {if (i < n) {sum = sum + array[i];res[i] = (double)sum/(i + 1);} else {sum = sum - array[i - n];sum = sum + array[i];res[i] = (double)sum/n;}}return res;}}
0 0
- Moving Average of An Input Stream
- Moving Average from Data Stream
- Moving Average from Data Stream
- LeetCode 346. Moving Average from Data Stream
- LeetCode 346. Moving Average from Data Stream
- Leetcode 346 Moving Average from Data Stream
- 346. Moving Average from Data Stream
- [LC]346. Moving Average from Data Stream
- Leetcode Everyday: 346. Moving Average from Data Stream
- [leetcode] 346. Moving Average from Data Stream 解题报告
- Leetcode 346. Moving Average from Data Stream (Easy) (cpp)
- [Leetcode] 346. Moving Average from Data Stream 解题报告
- LeetCode 346. Moving Average from Data Stream(数据流移动平均值)
- tf moving average
- kaufman adaptive moving average
- JAVA_SAE_Fatal_error: Unexpected end of ZLIB input stream
- Unexpected end of ZLIB input stream
- java.io.EOFException: Unexpected end of ZLIB input stream
- synchronized
- File 类
- 雷霆战机
- 轮播循环的Viewpager
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- Moving Average of An Input Stream
- 设计模式之责任链模式
- JSP续
- Status Bar变换
- 28 字符串的排列
- 素数距离题目
- ccv的安装以及测试
- JavaScript中注册时间处理程序的方式
- iOS实现水波纹