Énumérez l'organisation de la chaîne / entier
Déterminer toutes les dispositions possibles pour la chaîne ou l'entier peuvent être des questions d'entrevue de programmation courantes. Cet article vise à expliquer et à réaliser intuitivement le processus d'arrangement.
Le principe derrière l'arrangement
L'arrangement implique différents éléments de disposition des commandes, et la solution du problème tourne autour de récursif
. Considérez les principes suivants:La disposition d'un seul élément est elle-même.
La disposition d'un groupe d'éléments comprend la connexion de chaque élément avec la disposition des autres éléments.ba (b perm (a))
implémentation du code
Ce qui suit est un exemple de code en C # et Python:
<code>makePermutations(permutation) { if (length permutation == 1) { return permutation; } else { var permutations = []; for (var i = 0; i < permutation.length; i++) { var first = permutation[i]; var rest = permutation.substring(0, i) + permutation.substring(i + 1); var subPermutations = makePermutations(rest); for (var j = 0; j < subPermutations.length; j++) { permutations.push(first + subPermutations[j]); } } return permutations; } }</code>
c #
En comprenant le principe de l'arrangement et de la réalisation d'algorithmes récursifs, vous pouvez générer efficacement tous les arrangements possibles de chaîne ou entier.
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!