Verwenden Sie bei einem gegebenen Array die Rekursion, um alle möglichen Unterarrays des gegebenen Arrays zu generieren. In diesem Artikel erfahren Sie, wie Sie diese Funktion mit PHP implementieren.
Beispiel:
输入:[1,2,3] 输出:[1],[1,2],[2],[1,2,3],[2,3],[3] 输入:[1,2] 输出:[1],[1,2],[2]
Methode:
Wir verwenden zwei Zeiger start und end, um den Start- und Endpunkt des Arrays beizubehalten. Diese sind unten angegeben Schrittoperationen:
1. Wenn wir das Ende des Arrays erreicht haben, stoppen Sie
2. Wenn Start größer als Ende ist, erhöhen Sie den Endindex
3 aus dem Index Drucken Sie das Unterarray bis zum Ende und erhöhen Sie den Startindex
Das Folgende ist ein Beispiel für die PHP-Code-Implementierung der oben genannten Methode:
<?php // 使用递归函数为给定数组打印所有可能的子数组 function printSubArrays($arr, $start, $end) { // 如果我们已经到达数组的末尾,就停止 if ($end == count($arr)) return; // 增加端点并从0开始 else if ($start > $end) return printSubArrays($arr, 0, $end + 1); // 打印子数组并增加起始点 else { echo "["; for($i = $start; $i < $end + 1; $i++) { echo $arr[$i]; if($i != $end) echo ", "; } echo "]\n"; return printSubArrays($arr, $start + 1, $end); } } $arr = array(1, 2, 3); printSubArrays($arr, 0, 0);
Ausgabe:
[1] [1,2] [2] [1,2,3] [2,3] [3]
Zeitkomplexitätseigenschaften:
Verwandte Empfehlungen: „PHP-Tutorial“
Dieser Artikel ist eine Einführung in die Methode der Verwendung von Rekursion um Subarrays in PHP zu generieren. Ich hoffe, es wird Freunden helfen, die es brauchen.
Das obige ist der detaillierte Inhalt vonPHP verwendet Rekursion, um Subarrays zu generieren (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!