1、给定一个只包含’(’ 和’)’ 的字符串,找出最长的包含有效括号的字符串的长度
实例1:
输入:"(()"
输出:2
解释:最长有效括号字符串为 “()”
实例2
输入: “(((((()())”
输出:4
解释:最长有效括号括号字符串为“()()”
~~直接上代码了
let arr = [] // 存放 全部长度
let count = 0; // 计数器
let str = "((((()((()()))()()()()((((()()" // 输入字符串
let newStr = str.replace(/\(\)/g, '*')
console.log(newStr);
for (let i = 0; i < newStr.length; i++) {
const e = newStr[i];
if (i < newStr.length) {
const pre = newStr[i + 1];
if (e == "*") {
count ++
if (e !== pre) {
arr.push(count)
count = 0
}
}
}
}
arr.sort(function(a, b) {return b - a});
console.log(arr);