คำชี้แจงปัญหา
รับสตริงของวงเล็บ สามารถใส่วงเล็บเปิดคอนเทนเนอร์ '(' หรือวงเล็บปิด ')' เราต้องหาจำนวนวงเล็บขั้นต่ำเพื่อให้สตริงที่เป็นผลลัพธ์ถูกต้อง
ตัวอย่าง
ถ้า str =“((()” แสดงว่าเราต้องการวงเล็บปิด 2 วงเล็บ คือ ‘))’ ที่ส่วนท้ายของสตริง
อัลกอริทึม
- นับวงเล็บเปิด
- นับวงเล็บปิด
- วงเล็บที่ต้องการ =abs(จำนวนวงเล็บเปิด – จำนวนวงเล็บปิด)
ตัวอย่าง
#include#include #include ใช้เนมสเปซ std;int requiredParentheses (สตริง str) { int openingPrentheses =0, closedParentheses =0; สำหรับ (int i =0; i เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้น มันสร้างผลลัพธ์ต่อไปนี้ -
วงเล็บที่จำเป็น =2