ReverseParentheses - Codefights
Ich habe eine wirklich harte Zeit mit der Lösung dieses Problems mit JavaScript
Ihnen gegeben einen string s, der aus englischen Buchstaben, Satzzeichen, Leerzeichen und Klammern. Es ist garantiert, dass die Klammern in s-form eine regelmäßige Klammer-Sequenz.
Ihre Aufgabe ist es, umzukehren, Saiten, die in jedes paar von passenden Klammern, ausgehend von der innerste.
Beispiel
String "s = a(bc)de" die Ausgabe sollte
reverseParentheses(s) = "acbde".
Input/Output
[Zeit limit] 4000ms (js)
[Eingang] - Zeichenfolge s
Einen string, bestehend aus englischen Buchstaben, Satzzeichen, Leerzeichen und Klammern. Es ist gewährleistet, dass die Klammer in einem regelmäßigen Klammer-Sequenz.
Einschränkungen:
5 ≤ x.Länge ≤ 55.
[output] string
Es hat folgende Eingänge:
- s: "(bcdefghijkl(mno)p)q" Erwartete Ausgabe:
"apmnolkjihgfedcbq" - s: "co(de(Kampf)s)" Erwartete Ausgabe: "cosfighted"
Nein, es ist nur ein problem von Codefights - codefights.com/arcade/intro/level-3/3o6QFqgYSontKsyk4
Ein Weg, es zu tun wäre: 1. Hier finden Sie den ersten index ) 2. Finden Sie den last-index ( wird vor dem ersten index ) 3. Reverse, was zwischen Ihnen ist ein remove-4. Wiederholen Sie, bis keine paranthesis sind Links
InformationsquelleAutor Annia J. Flores | 2017-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Vahan
InformationsquelleAutor Mayur Shah
Hier ist eine Lösung:
const
undlet
stattInformationsquelleAutor Kiril
In JS
Mithilfe Von Regex
Einfache Methode:-
In Python:
Einfache Methode
Über Stapel-Methode
In C++
Einfache Methode:-
reverseString
Funktion umkehren wird der String mit Hilfe der swapping-Methode, währendreverseParentheses
Funktion update-string rekursiv.InformationsquelleAutor Vineet Jain
Gegeben ein string der Größe n, hier ist eine Rekursion code in C geschrieben ist, die läuft in O(n) Zeit-Komplexität.
Die Idee hinter dem code ist zu beginnen mit dem Anfang des Strings und jedes mal, wenn Sie auf eine öffnende Klammer, wechseln Sie zu Ihrer schließenden Klammer und print hinten dann komplett drucken, dass nach der schließenden Klammer.
Beachten Sie, dass beim drucken nach hinten öffnende Klammer '[' sind als schließende Klammer und Umgekehrt für die schließende Klammer ']'.
Maximale string-Länge ist 1 million, das ändern der array-Größe, wenn Sie brauchen, um zu verarbeiten, mehr Streicher.
InformationsquelleAutor Ibraheem Tuffaha
Dies ist eine rekursive Lösung mit regulären Ausdrücken, es ist ein reverseString Methode, die aufgerufen werden, wenn es eine übereinstimmung in der reguläre Ausdruck, der dieses match verwendet die ersetzen-Funktion, um die zu ersetzen, die reveresed string. einmal ist es Umgekehrt tut es der Zyklus erneut, bis es nicht mehr passt..
InformationsquelleAutor Renzo Calla
Für Python 3 (nicht sicher über Python 2), dieser code funktioniert. Dies nimmt (wie Sie das problem Code-Kämpfe Staaten), dass jede Klammer ist ein Teil von einem paar.
InformationsquelleAutor J-Eubanks
InformationsquelleAutor Matt M
Eine Lösung in F#:
InformationsquelleAutor Gebb
Es ist vorzuziehen, ändern Sie Ihre Kommentare im code auf Englisch - auf diese Weise mehr Menschen werden in der Lage sein, besser zu verstehen, Ihre Lösung und Kommentare hinzufügen, wenn nötig.
Auch, fügen Sie bitte Informationen/Erklärung, wie der code befasst sich mit der Frage (in englischer Sprache) als Teil Ihrer Antwort und nicht als Kommentar.
InformationsquelleAutor yang