Ce n'est “en place” signifie?
Inverse des mots dans une chaîne de caractères (mots sont
séparés par un ou plusieurs espaces). Maintenant
le faire sur place.
Ce n'est en place dans la moyenne?
- Découvrez ce fil de discussion pour des conseils sur la façon de le faire en C/C++: stackoverflow.com/questions/198199/...
- bien que ce soit de répondre à une autre question (inversion d'une chaîne de caractères, plutôt que les mots dans une chaîne de caractères, par exemple "chien mord l'homme" devient "man bites dog" plutôt que de "nam setib dieu")
- stackoverflow.com/questions/16585507/sorting-in-place peut l'expliquer.
Vous devez vous connecter pour publier un commentaire.
En place signifie que vous devez mettre à jour la chaîne d'origine plutôt que d'en créer un nouveau.
Selon le langage/framework que vous utilisez ce pourrait être impossible. (Par exemple, les chaînes sont immuables .NET et Java, de sorte qu'il serait impossible d'effectuer une mise à jour en place d'une chaîne sans avoir recours à un mal de hacks.)
En place des algorithmes ne pouvez utiliser
O(1)
de l'espace supplémentaire, pour l'essentiel. Tableau reprise (essentiellement la question de l'entrevue se résume à l') est un exemple classique. Ce qui suit est tiré de Wikipedia:Parfois de faire quelque chose en place est TRÈS DUR. Un exemple classique est en général non-matrice carrée de transposition.
Voir aussi
ABCDEF
àADBECF
.Vous devez modifier le contenu de la chaîne d'origine, à l'inverse, sans l'aide d'un stockage temporaire variable pour contenir la chaîne.