Dieser Artikel stellt Ihnen die Algorithmusanalyse der vollständigen Anordnung von Zeichenfolgen in js vor. Er hat einen gewissen Referenzwert.
Geben Sie eine Zeichenfolge ein und drucken Sie alle Permutationen der Zeichen in der Zeichenfolge in Wörterbuchreihenfolge aus. Wenn beispielsweise die Zeichenfolge abc eingegeben wird, werden alle Zeichenfolgen abc, acb, bac, bca, cab und cba gedruckt, die nach den Zeichen a, b und c angeordnet werden können.
Ich kenne diese Frage nicht. Die Idee der Online-Suche ist wahrscheinlich:
abc ist unterteilt in abc, bac , cba (dies ist der Austausch von 0 und 0, der Austausch von 0 und 1, der Austausch von 0 und 2
Das im ersten Schritt erhaltene ABC wird in abc und acb unterteilt (dies ist der Austausch von 1 und 1, der Austausch von 1 und 2
Der im ersten Schritt erhaltene Bac wird in Bac und Bca unterteilt (dies ist der Austausch von 1 und 1 und der Austausch von 1 und 2
Der in erhaltene CBA Der erste Schritt ist in cba und cab unterteilt (dies ist der Austausch von 1 und 1, 1 und 2).
function Permutation(str) { if(str === null || str === "") return []; var res = []; var index = 0; step(str.split(""), index, res); return res.sort(); } function step(strArr, cur, res) { if(cur === strArr.length-1){ var i = 0, str = ""; while(i < strArr.length){ str += strArr[i++]; } res.push(str); } for(var i = cur;i < strArr.length;i++) { if(strArr[i] === strArr[cur] && i !== cur) continue; swap(strArr, i, cur); step(strArr, cur+1, res); swap(strArr, i, cur); } } function swap(arr, a, b) { var temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; }
Verwandte Empfehlungen:
Analyse der Object.defineProperty()-Methode in JavaScript
Beispielanalyse des Unit-Tests von vue-cli
Verwendung von React: Zustandsverwaltung innerhalb von React-Komponenten
Das obige ist der detaillierte Inhalt vonAlgorithmische Analyse der vollständigen Anordnung von Strings in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!