Menu
CoddyTech

Generate Parentheses

Bir parantez dizisi, soldan sağa okunurken ) sayısı hiçbir zaman ( sayısını geçmiyorsa ve sonunda iki sayı eşitse düzgün biçimlidir. Bu nedenle (())() düzgün biçimlidir, ancak ())( değildir: üçüncü karakteri, hiç açılmamış bir çifti kapatır.

Bir n tam sayısı verildiğinde, n açılış ve n kapanış parantezi içeren tüm düzgün biçimli dizileri, ( karakterinin ) karakterinden önce geldiği sözlük sırasına göre sıralanmış olarak döndür.

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çimlenmiş dizgeyi sözlük sırasına göre

Kısıtlar

  • 1 ≤ n ≤ 8
  • n = 8 için yanıt 1.430 dizgedir.

Örnekler

Girdi
n = 3
Çıktı
["((()))", "(()())", "(())()", "()(())", "()()()"]
Açıklama
Üç çift, iyi biçimlendirilmiş beş dize oluşturur. ((())) önce üçünü de açar, bu yüzden ilk sırada yer alır; ()()() her çifti hemen kapatır ve son sırada yer alır.
challenge icon

Ek soru

n çift için geçerli dizeleri oluşturmadan sayabilir misin?

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

Test #1

Test #2

Argüman

n = 3

Beklenen Çıktı

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