Menu
CoddyTech

Longest Valid Parentheses

Yalnızca ( ve ) karakterlerinden oluşan bir s dizgeniz var. Düzgün biçimlenmiş en uzun alt dizgeyi (ardışık karakterlerden oluşan bir bölümü) bulun: İçindeki her (, yine bu dizge içindeki daha sonraki bir ) ile kapatılmalı ve parantez çiftleri (()()) örneğindeki gibi doğru şekilde iç içe geçmelidir. Bu alt dizgenin uzunluğunu döndürün; () bile yoksa 0 döndürün.

Fonksiyon

longestValidParentheses(s: string) → integer
sstring
( ve ) karakterlerinden oluşan bir dize
Döndürürinteger
en uzun düzgün biçimlendirilmiş alt dizenin uzunluğu ya da yoksa 0

Kısıtlar

  • 1 ≤ s.length ≤ 6 × 104
  • <|?

Örnekler

Girdi
s = "()(())"
Çıktı
6
Açıklama
Dizgenin tamamı düzgün biçimlendirilmiştir: () ve ardından (()). Yan yana duran iki düzgün biçimlendirilmiş parça, tek bir düzgün biçimlendirilmiş parça oluşturur; dolayısıyla yanıt 6 karakterin tamamıdır.
challenge icon

Ek soru

En uzun düzgün biçimlendirilmiş alt dizenin nerede başladığını da bildirebilir misin? Birden fazla alt dizenin uzunluğu aynıysa en soldakini seç.

Kodu sıfırla
def longestValidParentheses(s):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

s = "()(())"

Beklenen Çıktı

6