Maison >interface Web >js tutoriel >Analyse algorithmique de l'arrangement complet des chaînes en js
Cet article vous présente l'analyse algorithmique de l'arrangement complet des chaînes en js. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Entrez une chaîne et imprimez toutes les permutations de caractères dans la chaîne dans l'ordre du dictionnaire. Par exemple, si la chaîne abc est saisie, toutes les chaînes abc, acb, bac, bca, cab et cba qui peuvent être organisées par les caractères a, b et c seront imprimées.
Il n'y a rien à analyser. Je ne connais pas cette question. L'idée de chercher en ligne est probablement :
abc est divisé en abc, bac. , cba (c'est l'échange 0 et 0, l'échange 0 et 1, l'échange 0 et 2
L'abc obtenu à la première étape est divisé en abc et acb (c'est l'échange de 1 et 1, l'échange de 1 et 2
Le bac obtenu à la première étape se divise en bac et bca (c'est l'échange de 1 et 1, et l'échange de 1 et 2
Le cba obtenu en la première étape est divisée en cba et cab (c'est l'échange de 1 et 1, 1 et 2 échange
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; }
Recommandations associées :
Analyse de la méthode Object.defineProperty() en JavaScript
Exemple d'analyse de tests unitaires de vue-cli
Utilisation de React : gestion de l'état dans les composants React
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!