gpt4 book ai didi

java - 在 java 中不使用循环添加 double[] 数组的元素

转载 作者:搜寻专家 更新时间:2023-11-01 00:59:12 24 4
gpt4 key购买 nike

我有一个巨大的double[]。 (例如:double[] array = new double[] {2.0, 3.1, 4.2, 8.9, 10.11, .........})

我想立即获取该数组所有元素的总和(不使用循环)

你有什么想法吗?

最佳答案

不,您不能一步计算出一系列值的总和。即使有 API 方法或某些库提供求和函数,它也会在内部使用循环。求和算法的复杂度为 O(n)(对于单 CPU)。

出路可能是使用并行计算,但这是回答您的问题的理论上的方法。您至少需要与数组单元一样多的 CPU 来计算步骤中的总和。 (或者一个虚构的 CPU,其 FP 寄存器的数量与数组值一样多)。


在开始查看 Java 或其他库的 API 之前:

 public static double sum(double...values) {
double result = 0;
for (double value:values)
result += value;
return result;
}

用法:

 double sum = sum(array);  // this is in your main code -> no loop (visible)

关于java - 在 java 中不使用循环添加 double[] 数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4094644/

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