Computer >> Máy Tính >  >> Lập trình >> Javascript

Đặt số nguyên vào đúng chỉ mục trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong một chuỗi, str, chỉ bao gồm ‘[‘ hoặc ‘]’.

Hàm của chúng ta phải thêm số lượng tối thiểu dấu ngoặc vuông ('[' hoặc ']' và ở bất kỳ vị trí nào) để chuỗi kết hợp dấu ngoặc vuông thu được là hợp lệ. Và cuối cùng, chúng ta nên trả về số lượng dấu ngoặc nhỏ nhất được thêm vào.

Ví dụ:nếu đầu vào của hàm là

Đầu vào

const str = '[]]';

Đầu ra

const output = 1;

Giải thích đầu ra

Bởi vì, nếu chúng ta thêm ‘[‘ vào đầu, chuỗi sẽ được cân bằng.

Ví dụ

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));

Đầu ra

1