gpt4 book ai didi

java - Java中是否有SDK函数可以将数字压入堆栈并计算平均值?

转载 作者:行者123 更新时间:2023-12-01 17:33:05 29 4
gpt4 key购买 nike

我尝试通过 Google 寻找答案,但我认为我使用了错误的关键字。我想做的是 - 我有一个数字(整数)的集合,当我添加新数字时,我正在计算新的平均值。我注意到,随着数组的增长,一旦元素数量达到一定数量(比如 200),计算时间就会变得明显。我想知道是否有任何内置的 SDK 函数可以用来加速我的代码性能?我将在 Android 上运行代码。

int[] numbers = new int[3];

private int average(int number){
//some buildin operation to push in array an int?
for(int i=0; i < numbers.length -1 ; i++){
numbers[i]=numbers[i+1];
}
numbers[numbers.length -1] = number;
;
//numbers[0] = numbers[1];
//numbers[1] = numbers[2];
//numbers[2] = number;

int sum = 0;

//any operation to get average?
for(int i=0; i < numbers.length ; i++)
sum = sum + numbers[i];

//calculate average value
double average = sum / numbers.length;

return (int)average;
}

最佳答案

运行平均值(整数类型)可以有效地计算为:

sum -= oldest_value;
sum += new_value;
avg = (double)sum / num_elements;

为了避免每次都通过数组移动所有元素,您应该将数组用作 circular buffer .

关于java - Java中是否有SDK函数可以将数字压入堆栈并计算平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141250/

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