ReverseParentheses - Codefights
Je vais avoir vraiment un moment difficile la résolution du problème avec JavaScript
Vous êtes donné une chaîne de caractères s, qui se compose de l'anglais, lettres, signes de ponctuation, les espaces et les parenthèses. Il est garanti que les crochets en s et former un support de la séquence.
Votre tâche est d'inverser les cordes de chaque paire de correspondance entre parenthèses, en commençant par le plus intime.
Exemple
Pour la chaîne "s = a(bc)de" la sortie doit être
reverseParentheses(s) = "acbde".
D'Entrée/Sortie
[délai] 4000ms (js)
[entrée] string s
Une chaîne composée d'anglais, de lettres, signes de ponctuation, les espaces et les parenthèses. Il est garanti que la parenthèse et former un support de la séquence.
Contraintes:
5 ≤ x.longueur ≤ 55.
[sortie] chaîne
Il a à travailler avec les entrées suivantes:
- s: "(bcdefghijkl(mno)p)q" résultat Attendu:
"apmnolkjihgfedcbq" - s: "co(de(la lutte)s)" résultat Attendu: "cosfighted"
Non, c'est juste un problème de Codefights - codefights.com/arcade/intro/level-3/3o6QFqgYSontKsyk4
Une façon de le faire serait de: 1. Trouver le premier indice de l' ) 2. Trouver le dernier indice ( qui est avant le premier indice de l' ) 3. Inverse ce qui est entre eux un supprimer 4. Répéter jusqu'à ce qu'aucune paranthesis sont de gauche
OriginalL'auteur Annia J. Flores | 2017-02-15
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Vahan
OriginalL'auteur Mayur Shah
Voici une solution:
const
etlet
au lieuOriginalL'auteur Kiril
En JS
En Utilisant Les Regex
Méthode Simple:-
En Python:
Méthode Simple
À L'Aide De Piles Méthode
En C++
Méthode Simple:-
reverseString
fonction inverse de la Chaîne à l'aide de la permutation de la méthode alors quereverseParentheses
fonction de mise à jour de la chaîne de manière récursive.OriginalL'auteur Vineet Jain
Donné une chaîne de caractères de taille n, voici une récursivité de code écrit en C qui s'exécute en O(n) le temps de la complexité.
L'idée derrière le code est de commencer avec le début de la chaîne et chaque fois que vous rencontrez un crochet ouvrant, vous passez à son crochet de fermeture et d'impression vers l'arrière puis terminer l'impression après cette parenthèse.
Notez que lorsque vous imprimez vers l'arrière, l'ouverture des crochets '[' sont considérés comme des crochets de clôture et vice versa pour la fermeture crochets ']'.
Taille maximale de la chaîne est 1 million de dollars, changement de tableau des tailles si vous avez besoin de traiter des chaînes plus longues.
OriginalL'auteur Ibraheem Tuffaha
C'est une solution récursive en utilisant des expressions régulières, il y a un reverseString méthode que quand il y a un match dans l'expression régulière, ce match n'utilise la fonction replace pour remplacer le reveresed chaîne. une fois n'est renversée, le cycle de nouveau jusqu'à ce qu'il n'y a pas plus de matches..
OriginalL'auteur Renzo Calla
Pour Python 3 (pas sûr de Python 2), ce code fonctionne. Cela ne suppose (comme le problème sur le Code Combats unis) que chaque parenthèse est une partie d'une paire.
OriginalL'auteur J-Eubanks
OriginalL'auteur Matt M
Une solution en F#:
OriginalL'auteur Gebb
Il est préférable de changer vos commentaires dans le code pour l'anglais - de cette façon, plus de gens seront en mesure de mieux comprendre votre solution et ajouter des commentaires si nécessaire.
Aussi, veuillez ajouter toute information ou explication sur la façon dont votre code traite de la question (en anglais) dans le cadre de votre réponse et non pas comme un commentaire.
OriginalL'auteur yang