前缀平均值

在这里插入图片描述
定义:
计算数组X里的前缀平均值,表明从数组第一个数开始求和,前n个的和就除以n,依次计算到数组所有元素的和除以总数结束,所得的n个结果就是所有要求的平均值,然后放入一个新的数组。
我们想计算出数组A,该数组满足的条件为:当j=0,…,n-1时,A[ j ]是X[ 0 ],…,X[ j ]的平均值。

public static void main(String []args) {
    
    
		double[] arr = {
    
    4,6,10,8,2};
		double[] result = qianZhui(arr);
		for(double i : result){
    
    
			System.out.print(i+"  ");	
		}
    }
	
	public static double[] qianZhui(double[] array){
    
    
		int len = array.length;  //临时空间
		double[] arr = new double[len];
		double total = 0;
		for(int i = 0;i < array.length;i++){
    
    
			total += array[i];
			arr[i] = total/(i+1);
		}
		return arr;
	}

最后的结果也没做处理,可能小数位数会比较长
算法运行:

  1. 初始化变量n和total,用时O(1)
  2. 初始化长度为n数组arr,用时O(n)
  3. for循环用时O(n)
  4. i从0到array数组长度-1,循环体被执行n次,共用时O(n)

大O符号使得我们忽视常量因子和低阶项,转而关注函数中影响幅度较大的主要成分,所以运行时间为O(n)

猜你喜欢

转载自blog.csdn.net/qq_44976729/article/details/109102115
今日推荐