Tantangan Diambil dari sini dan juga di sini
Sebuah n urutan kurung terdiri dari n (
dan n )
s.
Urutan tanda kurung yang valid didefinisikan sebagai berikut:
Anda dapat menemukan cara untuk menghapus pasangan kurung yang berdekatan "()" hingga menjadi kosong.
Misalnya,
(())
adalah tanda kurung yang valid, Anda dapat menghapus pasangan pada posisi ke-2 dan ke-3 dan menjadi()
, lalu Anda dapat membuatnya kosong.)()(
bukan tanda kurung yang valid, setelah Anda menghapus pasangan pada posisi 2 dan 3, itu menjadi)(
dan Anda tidak dapat menghapus lagi
Tugas
Dengan nomor dan Anda perlu membuat semua urutan kurung yang benar dalam urutan leksikografis
Output dapat berupa array, daftar atau string (dalam hal ini urutan per baris)
Anda dapat menggunakan sepasang yang berbeda dari kurung seperti {}
, []
, ()
atau buka-tutup tanda
Contoh
n = 3
((())) (()()) (())() ()(()) ()()()
n = 2
(()) ()()
1
s dan -1
s)?