ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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