Heim > Artikel > Backend-Entwicklung > Wie implementiert man mithilfe eines Greedy-Algorithmus eine effiziente Lösung für das Problem des geringsten Münzwechsels in PHP?
Wie implementiert man mithilfe des Greedy-Algorithmus eine effiziente Lösung für das Problem des geringsten Münzwechsels in PHP?
Zitat:
Im täglichen Leben müssen wir oft etwas ändern, insbesondere beim Einkaufen oder Handeln. Um möglichst wenig Münzen zu verbrauchen, sollte der Wechselbetrag mit möglichst wenigen Münzen zusammengefasst werden. In der Computerprogrammierung können wir einen gierigen Algorithmus verwenden, um dieses Problem zu lösen und eine effiziente Lösung zu erhalten. Dieser Artikel beschreibt, wie man mithilfe des Greedy-Algorithmus in PHP eine effiziente Lösung für das Problem des minimalen Münzwechsels implementiert und stellt entsprechende Codebeispiele bereit.
Schritt 1: Erstellen Sie eine Funktion mit dem Namen MinimumCoins, die zwei Parameter akzeptiert: Betrag (Betrag) und Münzwert-Array (Münzen).
Schritt 2: Definieren Sie ein leeres Ergebnisarray (Ergebnis), um die Münzkombination für das Wechselgeld zu speichern.
Schritt 3: Sortieren Sie das Münzwert-Array in absteigender Reihenfolge, um Münzen mit größeren Nennwerten von groß nach klein auszuwählen.
Schritt 4: Durchsuchen Sie das Münzwert-Array und wählen Sie jedes Mal Münzen aus, deren aktueller Nennwert kleiner oder gleich dem Zielbetrag ist, um Änderungen vorzunehmen.
Schritt 5: Aktualisieren Sie während des Änderungsvorgangs den Zielbetrag, fügen Sie den ausgewählten Münzwert zum Ergebnisarray hinzu und subtrahieren Sie den ausgewählten Münzwert vom Zielbetrag.
Schritt 6: Wiederholen Sie die Schritte 4 und 5, bis der Zielbetrag 0 beträgt.
Schritt 7: Geben Sie das Ergebnisarray zurück.
Das Folgende ist ein spezifisches PHP-Codebeispiel:
function minimumCoins($amount, $coins) { $result = []; // 存储找零的硬币组合 rsort($coins); // 降序排列硬币面额数组 foreach ($coins as $coin) { while ($coin <= $amount) { $result[] = $coin; // 将当前硬币面额添加到结果数组中 $amount -= $coin; // 更新目标金额 } } return $result; } $amount = 47; // 目标金额 $coins = [25, 10, 5, 1]; // 硬币面额数组 $result = minimumCoins($amount, $coins); echo "找零组合:"; foreach ($result as $coin) { echo $coin . " "; }
Der obige Code gibt Folgendes aus: „Änderungskombination: 25 10 10 1 1“, das heißt, es werden 5 Münzen benötigt, um 47 Yuan zu wechseln.
Fazit:
Durch die Verwendung des Greedy-Algorithmus können wir das Problem des minimalen Münzwechsels in PHP effizient lösen. Dieses Problem ist im täglichen Leben sehr praktisch und der Greedy-Algorithmus bietet eine einfache und effiziente Lösung. Ich hoffe, dass die in diesem Artikel bereitgestellten Codebeispiele und Lösungsideen für Sie hilfreich sind.
Das obige ist der detaillierte Inhalt vonWie implementiert man mithilfe eines Greedy-Algorithmus eine effiziente Lösung für das Problem des geringsten Münzwechsels in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!