Java 线性前缀平均法是否优于二次前缀平均法?

Java 线性前缀平均法是否优于二次前缀平均法?,java,array-algorithms,Java,Array Algorithms,我基于在线找到的伪代码创建了一个方法来计算数组的前缀平均值,但我不确定是否满足要求 要求是: 给定一个由n个数字组成的数组a[1…n],还计算另一个数组b[1…n] 长度n,使得b[i]是a[0]…a[i]的平均值,对于0是的,我认为这两个函数都满足要求。在这个问题上,我看不出有什么理由选择二次解而不是线性解。看起来这两种方法都满足要求。线性运行时间比二次运行时间快,因此从运行时间的角度来看,第一个运行时间最好。这个问题似乎离题了,因为它要求我们检查或测试代码。 public static do

我基于在线找到的伪代码创建了一个方法来计算数组的前缀平均值,但我不确定是否满足要求

要求是:

给定一个由n个数字组成的数组a[1…n],还计算另一个数组b[1…n]
长度n,使得b[i]是a[0]…a[i]的平均值,对于0是的,我认为这两个函数都满足要求。在这个问题上,我看不出有什么理由选择二次解而不是线性解。

看起来这两种方法都满足要求。线性运行时间比二次运行时间快,因此从运行时间的角度来看,第一个运行时间最好。这个问题似乎离题了,因为它要求我们检查或测试代码。
public static double[] prefixAverages1 (double[] n) {
        double b[] = new double[n.length]; 
        double s = 0;    
        for (int i = 0; i < n.length; i++) {
            s += n[i]; 
            b[i] = s/(i+1);
        }
        return b; 
}
public static double[] prefixAverages2 (double[] n) {
        double b[] = new double[n.length];  
        for (int i = 0; i < n.length; i++) {
            double t = 0;
            for (int j = 0; j <= i; j++) {
                t += n[j];
            }
            b[i] = t/(i+1);
        }
        return b;
}