Tuyên bố vấn đề
Cho một chuỗi dấu ngoặc đơn. Nó có thể chứa các dấu ngoặc đơn mở '(‘hoặc đóng các dấu ngoặc đơn‘) ’. Chúng ta phải tìm số lượng dấu ngoặc tối thiểu để làm cho chuỗi dấu ngoặc đơn là hợp lệ.
Ví dụ
Nếu str =“((()” thì chúng tôi yêu cầu 2 dấu ngoặc đơn đóng, tức là ‘))’ ở cuối chuỗi
Thuật toán
- Đếm các dấu ngoặc đơn mở đầu
- Đếm các dấu ngoặc đơn đóng lại
- Dấu ngoặc đơn bắt buộc =abs (số lượng dấu ngoặc đơn mở - số lượng dấu ngoặc đơn đóng)
Ví dụ
#include#include #include using namespace std; int RequiredParentheses (string str) {int opensParentheses =0, closeParentheses =0; for (int i =0; i Khi bạn biên dịch và thực thi chương trình trên. Nó tạo ra kết quả sau -
Dấu ngoặc đơn bắt buộc =2