Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Programm zum Finden des nächsten Paares aus zwei sortierten Arrays

PHP-Programm zum Finden des nächsten Paares aus zwei sortierten Arrays

PHPz
PHPzOriginal
2024-08-28 13:34:101126Durchsuche

PHP Program to find the Closest Pair from Two Sorted Arrays

Was ist PHP?

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.

PHP-Programm zum Finden des nächstgelegenen Paares aus zwei sortierten Arrays

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.

Beispiel

<?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);
?>

Ausgabe

The closest pair is [10, 9]

Fazit

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Mehrfachvererbung in PHPNächster Artikel:Mehrfachvererbung in PHP