Danh sách

Sinh tất cả chuỗi dấu ngoặc hợp lệ (Generate Parentheses)

Trung bình
Đệ Quy & Quay Lui (Recursion & Backtracking) 1200ms 256MB

Cho n cặp dấu ngoặc đơn. Sinh ra tất cả các chuỗi dấu ngoặc hợp lệ có thể tạo thành.

Ví dụ: n = 3 -> ["((()))", "(()())", "(())()", "()(())", "()()()"]

Định Dạng Đầu Vào (Input)
Một dòng chứa số nguyên n
Định Dạng Đầu Ra (Output)
Mảng chứa các chuỗi ngoặc
Ràng Buộc (Constraints)
  • 1 <= n <= 8
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
3
Output:
["((()))", "(()())", "(())()", "()(())", "()()()"]
Giải thích: 5 cách xếp
Ví dụ 2:
Input:
1
Output:
["()"]
Giải thích: 1 cách
Gợi ý được sắp xếp theo cấp độ tiến dần. Hãy mở từng gợi ý khi bạn thực sự cần thêm định hướng.

Kỹ thuật Quay Lui O(4^n / sqrt(n))

Mở ngoặc khi open < n, đóng ngoặc khi close < open.

Vui lòng đăng nhập

Đăng nhập tài khoản học viên để xem lịch sử nộp bài của bạn.

Đăng nhập
Ctrl + Enter: Chạy thử
Dữ liệu đầu vào (Input):
3
Kết quả kỳ vọng (Expected Output):
["((()))", "(()())", "(())()", "()(())", "()()()"]
Dữ liệu đầu vào (Input):
1
Kết quả kỳ vọng (Expected Output):
["()"]
Nhập STDIN của bạn (Mỗi dòng một tham số):

Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.

Đang gửi mã và thực thi trên Sandbox Engine...
Nhấn Ctrl+Enter để chạy

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học