Cho một chuỗi chỉ bao gồm hai loại ký tự:"(" và ")". Chúng ta được yêu cầu viết một hàm nhận trong một chuỗi như vậy và cân bằng các dấu ngoặc đơn bằng cách chèn "(" hoặc a ")" nhiều lần nếu cần. Sau đó, hàm sẽ trả về số lần chèn tối thiểu được thực hiện trong chuỗi để cân bằng nó.
Ví dụ:Nếu chuỗi là -
const str = '()))';
Sau đó, đầu ra phải là 2, bởi vì bằng cách thêm trước '((', chúng ta có thể cân bằng chuỗi.
Ví dụ
Mã cho điều này sẽ là -
const str = '()))'; const balanceParanthesis = str => { let paren = []; for (let i = 0; i < str.length; i++) { if (str[i] === "(") { paren.push(str[i]); } else if (str[i] === ")") { if (paren[paren.length - 1] === "("){ paren.pop(); }else { paren.push("#"); }; }; } return paren.length; } console.log(balanceParanthesis(str));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
2