Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Đặt số nguyên tại chỉ số đúng trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi str chỉ chứa '[' hoặc ']'. Hàm phải thêm số lượng ngoặc vuông tối thiểu ('[' hoặc ']', ở bất kỳ vị trí nào) để chuỗi ngoặc kết quả hợp lệ. Cuối cùng trả về số lượng ngoặc nhỏ nhất đã thêm.

Ví dụ, nếu đầu vào là:

Đầu vào

const str = '[]]';

Đầu ra

const output = 1;

Giải thích

Vì nếu thêm '[' vào đầu, chuỗi sẽ cân bằng.

Ví dụ

Dưới đây là mã thực hiện:

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

Kết quả

1