Menu
CoddyTech

Longest Valid Parentheses

Du erhältst eine Zeichenfolge s, die nur aus den Zeichen ( und ) besteht. Finde die längste zusammenhängende Teilzeichenfolge (eine Folge aufeinanderfolgender Zeichen), die korrekt geklammert ist: Jede darin enthaltene ( wird durch ein späteres ) darin geschlossen, und die Klammerpaare sind korrekt verschachtelt, wie bei (()()). Gib die Länge dieser Teilzeichenfolge zurück oder 0, wenn nicht einmal () vorkommt.

Funktion

longestValidParentheses(s: string) → integer
sstring
eine Zeichenfolge aus ( und )-Zeichen
Gibt zurückinteger
die Länge der längsten wohlgeformten Teilzeichenfolge oder 0, falls es keine gibt

Einschränkungen

  • 1 ≤ s.length ≤ 6 × 104
  • Jedes Zeichen von s ist ( oder ).

Beispiele

Eingabe
s = "()(())"
Ausgabe
6
Erklärung
Die gesamte Zeichenfolge ist wohlgeformt: () gefolgt von (()). Zwei wohlgeformte Teile nebeneinander ergeben einen wohlgeformten Teil, also besteht die Antwort aus allen 6 Zeichen.

lock icon+21 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Kannst du auch angeben, wo die längste wohlgeformte Teilzeichenfolge beginnt, und dabei die am weitesten links stehende auswählen, wenn mehrere dieselbe Länge haben?

Code zurücksetzen
def longestValidParentheses(s):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

s = "()(())"

Erwartet

6