计算最大平均块点

时间:2013-07-09 13:40:07

标签: php arrays algorithm average

我有一个包含30.000个整数值的数组,我需要计算最大的60个连续元素块。我已经这样做了,它有效,但我不知道是否有更好的方法来做到这一点。现在它花费大约4秒,有30.000点。

$values = array();
$max = 0;

for ($i = 0; $i < 30000; $i++) {
    $values[] = rand(0, 1000);
}

for ($i = 0; $i < 29940; $i++) {
    $subValues = array_slice($values, $i, 60);
    $sum = array_sum($subValues);
    $avg = $sum / 60;
    $max = ($avg > $max) ? $avg : $max;
}

$maxValues = array_slice($values, $max, 60);

0 个答案:

没有答案