0

我有一个长度数组:

int lengthOfArray = 5;
lengthOfArray = ((lengthOfArray * (lengthOfArray - 1)) / 2);
System.out.println(lengthOfArray);

对于长度为 5 的数组,这将返回对所有数字使用类似运算符的十种可能结果,没有两个数字再次配对。

我需要提出一种有效的算法来计算所有数字的总和,将它们放入一个数组中,将它们加在一起,然后除以条目数以获得当天的平均 y 轴变化。
之后,我计划开发一种伪智能预测方法来猜测下一个值。

有没有人做过这样的事情?我正在开发一个天气分析软件,该软件基于我编写的程序生成的日志,使用 JSoup 解析并解释为日志文件。目标是让它运行分析,因为它正在下载新的天气信息。

4

2 回答 2

1

我需要提出一种有效的算法来计算所有数字的总和,将它们放入一个数组中,将它们加在一起,然后除以条目数以获得当天的平均 y 轴变化。

当您将一组数字的成对和相加时,每个数字在总和中出现的次数与与该数字成对的次数一样多。因此,结果将是一组数字的总和乘以数字的个数减一。计算总和的“有效”方式的伪代码可能如下所示:

n = count(numbers)
sumsAddedTogether = sum(numbers)*(n-1)

然后您可以除以“条目数”(是您正在处理的数字数,对数还是其他?)但我不知道您所说的“平均 y 轴变化天。”

于 2013-09-26T08:07:00.720 回答
0

点插值Aitken 插值开始。这会给你一个良好的开端。了解如何使用几个点生成贝塞尔曲线(它也有权重版本)。我记得 Java 支持 Bezier 曲线,但是,我在几年前自己就做到了,没有任何困难。

于 2013-09-26T08:00:41.180 回答