Menu
CoddyTech

Generate Parentheses

Parantezlerden oluşan bir dizi, soldan sağa okunduğunda ) sayısı hiçbir zaman ( sayısını geçmiyorsa ve sonunda iki sayı eşitse düzgün biçimlenmiştir. Bu nedenle (())() düzgün biçimlenmiştir, ancak ())( değildir: üçüncü karakteri, hiç açılmamış bir çifti kapatır.

Bir n tamsayısı veriliyor. n açılış ve n kapanış parantezinden oluşan, sözlük sırasına göre sıralanmış tüm düzgün biçimlenmiş dizeleri döndür. Sözlük sıralamasında (, ) karakterinden önce gelir.

Fonksiyon

generateParenthesis(n: integer) → string-array
ninteger
parantez çiftlerinin sayısı
Döndürürstring-array
n çift parantez içeren her düzgün biçimli dizge, sözlük sırasına göre

Kısıtlar

  • 1 ≤ n ≤ 8
  • n = 8 için cevap 1.430 dize içerir.

Örnekler

Girdi
n = 3
Çıktı
["((()))", "(()())", "(())()", "()(())", "()()()"]
Açıklama
Üç çift, doğru biçimlendirilmiş beş şekilde düzenlenebilir. ((())), herhangi birini kapatmadan önce üçünü de açar ve ( sıralamada önce geldiğinden listenin başında yer alır; ()()() ise her çifti hemen kapatır ve listenin sonunda yer alır.

lock iconGönderirken +10 gizli test

challenge icon

Ek soru

İyi biçimlendirilmiş n çift dizgeleri üretmeden sayabilir misin?

Kodu sıfırla
def generateParenthesis(n):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Girdi

n = 3

Beklenen

["((()))", "(()())", "(())()", "()(())", "()()()"]