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.

lock iconGönderirken +21 gizli test

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 durumları

Durum 1

Durum 2

Durum 3

Girdi

s = "()(())"

Beklenen

6