Bestimmen aller Kombinationen bestimmter Größen aus einem Zeichensatz
Diese Untersuchung sucht nach einem Algorithmus, der in der Lage ist, alle möglichen Kombinationen einer bestimmten Größe daraus zu generieren ein vorgegebener Zeichensatz. Lassen Sie uns eine Lösung mithilfe einer rekursiven Funktion untersuchen:
function sampling($chars, $size, $combinations = array()) { if (empty($combinations)) { $combinations = $chars; } if ($size == 1) { return $combinations; } $new_combinations = array(); foreach ($combinations as $combination) { foreach ($chars as $char) { $new_combinations[] = $combination . $char; } } return sampling($chars, $size - 1, $new_combinations); }
Betrachten Sie ein Beispiel mit $chars = ['a', 'b', 'c']:
$output = sampling($chars, 2); var_dump($output);
The Die Ausgabe zeigt alle möglichen Kombinationen der Größe 2 an:
array(9) { [0]=> string(2) "aa" [1]=> string(2) "ab" [2]=> string(2) "ac" [3]=> string(2) "ba" [4]=> string(2) "bb" [5]=> string(2) "bc" [6]=> string(2) "ca" [7]=> string(2) "cb" [8]=> string(2) "cc" }
Dieser rekursive Ansatz generiert effektiv alle Kombinationen und stellt sicher, dass auch Kombinationen von Größen, die größer als das ursprüngliche Set sind, sind möglich.
Das obige ist der detaillierte Inhalt vonWie kann ich aus einem Zeichensatz alle Kombinationen einer bestimmten Größe generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!