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