gpt4 book ai didi

java - 使用java计算增量平均值

转载 作者:行者123 更新时间:2023-12-02 02:52:59 24 4
gpt4 key购买 nike

我有 2 个数组,我想计算增量平均值并将其再次存储在数组中。我举个例子。

int[] arr1 = {1,1,2,3,4,4,4,4,5,6};
int[] arr2 = {8,9,2,4,5,7,1,8,3,6};

计算后我想要输出为

int[] arr1 = {1,2,3,4,5,6}
double[] average = {8.5,6.3333,5.75,5.5,5.222,5.3}

平均值是这样计算的,对于 arr1 中的 1,平均值为 8+9/2

对于 2,平均值为 8+9+2/3,依此类推。

我已经编写了一个 for 循环来执行此操作,但我想做一些更快的计算,因为我拥有的原始数据大小为 800,值为 1400000 并且已经排序。有什么建议吗?

最佳答案

您可以利用递归来避免重新计算增量总和:

Avg(a,b,c) = (a + b + c) / 3

Avg(a,b,c,d) = (a + b + c + d) / 4
= (a + b + c) / 4 + d/4
= ((a + b + c) / 3) * 4/3 + d/4
= Avg(a,b,c) * 4/3 + d/4

=> Avg (x1->xn+1) = Avg(x1->xn) * (n+1)/n + xn+1/(n+1)

关于java - 使用java计算增量平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43521017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com