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

Tìm độ dài chuỗi ngoặc đơn hợp lệ dài nhất trong JavaScript

Cho chuỗi chỉ chứa '(' và ')'. Tìm độ dài substring ngoặc hợp lệ dài nhất (mỗi '(' có ')' tương ứng).

Ví dụ

const str = '(())()(((';    const longestValidParentheses = (str = '') => {       var ts = str.split('');       var stack = [], max = 0;       ts.forEach((el, ind) => {          if (el == '(') {             stack.push(ind);          }       else {          if (stack.length === 0 || ts[stack[stack.length - 1]] == ')'){             stack.push(ind);          }          else {             stack.pop();          };       }    });    stack.push(ts.length);    stack.splice(0, 0, -1);    for (let ind = 0;    ind< stack.length - 1; ind++) {       let v = stack[ind+1] - stack[ind] - 1; max = Math.max(max, v);    };    return max; }; console.log(longestValidParentheses(str));

Kết quả

6