Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การใส่จำนวนเต็มในดัชนีที่ถูกต้องใน JavaScript


ปัญหา

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