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