Heim > Artikel > Backend-Entwicklung > PHP verwendet die SPL-Standardbibliothek, um die kleinsten K-Werte im Array zu erhalten
class MaxHeap extends SplHeap{ public function compare($value1, $value2) { return ($value1 - $value2); } public function GetKMinNum($arr, $k){ if(is_array($arr) && $k > 0){ $count = count($arr); for($i=0; $i<$count; $i++){ if($i < $k){ $this->insert($arr[$i]); }else{ $top = $this->top(); if($top > $arr[$i]){ $this->extract(); $this->insert($arr[$i]); } } } } return $this; } }
$heap = new MaxHeap(); $arr = array(); for($i=0; $i<100000; $i++){ $arr[] = rand(100, 1000000); } $min = $heap->GetKMinNum($arr, 7); foreach($min as $val){ echo $val . '<br/>'; }
Das Obige stellt die Verwendung der SPL-Standardbibliothek durch PHP vor, um die kleinsten K-Werte in einem Array zu erhalten, einschließlich einiger Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.