Heim > Artikel > Backend-Entwicklung > PHP-Programm zum Finden des nächsten Paares aus zwei sortierten Arrays
PHP (Hypertext Preprocessor) ist eine beliebte Skriptsprache für die Webentwicklung. Es wird häufig zum Erstellen dynamischer und interaktiver Webseiten verwendet. PHP-Code kann direkt in HTML eingebettet werden, sodass Entwickler PHP und HTML nahtlos kombinieren können. PHP kann sich mit Datenbanken verbinden, Formulardaten verarbeiten, dynamische Inhalte generieren, Datei-Uploads verarbeiten, mit Servern interagieren und verschiedene serverseitige Aufgaben ausführen. Es unterstützt eine breite Palette von Webentwicklungs-Frameworks wie Laravel, Symfony und CodeIgniter, die zusätzliche Tools und Funktionen zum Erstellen von Webanwendungen bereitstellen. PHP ist eine Open-Source-Sprache mit einer großen Community, umfangreicher Dokumentation und einem umfangreichen Ökosystem an Bibliotheken und Erweiterungen.
Suchen Sie bei zwei sortierten Arrays und einer Zahl x das Paar, dessen Summe x am nächsten kommt und das Paar ein Element aus jedem Array enthält.
Eingabe
ar1 = [1, 3, 5, 7, 9]; ar2 = [2, 4, 6, 8, 10]; x = 12;<b> </b>
Ausgabe
Output is 1 and 10 because 1+10=11 which is closer to 12.
<?php function printClosest($ar1, $ar2, $m, $n, $x) { $diff = PHP_INT_MAX; $res_l; $res_r; $l = 0; $r = $n - 1; while ($l < $m and $r >= 0) { if (abs($ar1[$l] + $ar2[$r] - $x) < $diff){ $res_l = $l; $res_r = $r; $diff = abs($ar1[$l] + $ar2[$r] - $x); } if ($ar1[$l] + $ar2[$r] > $x) $r--; else $l++; } echo "The closest pair is [", $ar1[$res_l], ", ", $ar2[$res_r], "] <br>"; } $ar1 = array(1, 4, 8, 10); $ar2 = array(2, 6, 9); $m = count($ar1); $n = count($ar2); $x = 20; printClosest($ar1, $ar2, $m, $n, $x); ?>
The closest pair is [10, 9]
Zusammenfassend: Das bereitgestellte PHP-Programm verwendet eine Zwei-Zeiger-Technik, um effizient das nächstgelegene Paar aus zwei sortierten Arrays zu finden. Es beginnt mit der Initialisierung der Differenz zwischen der Paarsumme und der angegebenen Zahl „x“ als Maximalwert. Das Programm verwaltet zwei Ergebnisindizes, res_l und res_r, um die Indizes des nächsten Paares zu speichern. Durch den Vergleich der absoluten Differenz der Summe des aktuellen Paars mit x aktualisiert das Programm kontinuierlich das nächstgelegene Paar, wenn ein näheres Paar angetroffen wird. Es passt die Zeiger basierend darauf an, ob die aktuelle Summe größer oder kleiner als x ist, wodurch der Suchraum effektiv eingegrenzt wird.
Die zeitliche Komplexität des Programms hängt von der Größe der Eingabearrays m und n ab, da es einen linearen Scan durchführt und dabei beide Arrays einmal durchläuft. Daher hat es eine Komplexität von O(m + n). Das PHP-Programm bietet eine effiziente Lösung, um aus zwei sortierten Arrays das nächstgelegene Paar zu finden, dessen Summe der angegebenen Zahl x am nächsten kommt. Durch die Verwendung eines Zwei-Zeiger-Ansatzes bietet es eine optimierte Methode zur Identifizierung des Paares mit der minimalen absoluten Differenz und bietet so Flexibilität und Genauigkeit in verschiedenen Szenarien.
Das obige ist der detaillierte Inhalt vonPHP-Programm zum Finden des nächsten Paares aus zwei sortierten Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!