Hallo,
wäre es möglich (Performance / Speicherbedarf), die Arrays zu einem großen zusammenzuführen, diesen dann zu sortieren und dann die Differenzen zu berechnen?
// Edit: Die Funktionen wären dann: array_merge() und sort()
// Edit2: Mal schnell hingeklatscht:
// Edit3: Funktioniert so bei mir, jetzt stellt sich nur noch die Frage mit der Performance.
Gruß
BK
wäre es möglich (Performance / Speicherbedarf), die Arrays zu einem großen zusammenzuführen, diesen dann zu sortieren und dann die Differenzen zu berechnen?
// Edit: Die Funktionen wären dann: array_merge() und sort()
// Edit2: Mal schnell hingeklatscht:
PHP:
#!/usr/bin/php5
<?php
$speed [] = array (54898, 27454, 18306, 13732, 10988, 9158, 7851, 6871, 6109, 5499);
$speed [] = array (70144, 35077, 23388, 17543, 14037, 11699, 10029, 8777, 7803, 7023);
$all = array();
for($i=0; $i<count($speed); $i++) {
$all = array_merge($all, $speed[$i]);
}
sort($all);
$bestDiff = -1;
$ret_smaller = -1;
$ret_bigger = -1;
for($i=1; $i<count($all); $i++) {
$diff = $all[$i] - $all[$i - 1];
if($diff < $bestDiff || $bestDiff == -1) {
$bestDiff = $diff;
$smaller = $all[$i - 1];
$bigger = $all[$i];
}
}
echo "Kleinster Unterschied: " . $bestDiff . " (" . $smaller . " und " . $bigger . ")\n";
?>
// Edit3: Funktioniert so bei mir, jetzt stellt sich nur noch die Frage mit der Performance.
Gruß
BK
Zuletzt bearbeitet: