ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้สตริง str ซึ่งประกอบด้วย '[' หรือ ']' เท่านั้น
ฟังก์ชันของเราควรจะเพิ่มจำนวนวงเล็บเหลี่ยมขั้นต่ำ ( '[' หรือ ']' และในตำแหน่งใดๆ ) เพื่อให้สตริงการรวมวงเล็บที่เป็นผลลัพธ์ถูกต้อง และสุดท้าย เราควรคืนค่าจำนวนวงเล็บที่เพิ่มน้อยที่สุด
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ
ป้อนข้อมูล
const str = '[]]';
ผลผลิต
const output = 1;
คำอธิบายผลลัพธ์
เพราะถ้าเราเพิ่ม '[' ที่จุดเริ่มต้น สตริงจะสมดุล
ตัวอย่าง
const findAdditions = (str = '') => { let left = 0 let right = 0 for (let i = 0; i < str.length; i++) { if (str[i] === '[') { left += 1 } else if (str[i] === ']') { if (left > 0) { left -= 1 } else { right += 1 } } } return left + right; }; console.log(findAdditions(str));
ผลลัพธ์
1