gpt4 book ai didi

javascript - 如何实现计算缺少的括号?

转载 作者:行者123 更新时间:2023-12-05 01:09:59 24 4
gpt4 key购买 nike

例如:我有一个字符串只包含方括号 '(' 和 ')'。如何计算缺少的括号?

我的代码:

var str = '(())';
var open = 0, close = 0, count = 0;
for (var i = 0; i < str.length; i++) {
if (str[i] == '(') {
open++;
count = Math.abs(open - close);
} else {
close++;
count = Math.abs(open - close);
}
}
console.log(count);

输入:'(())'输出:0

输入:'(()'输出:1

输入:'))(('输出:4

输入:'(()('输出:2

输入:'(()()))(())(())'输出:1

最佳答案

将来最好提供你到目前为止尝试过的东西

但我喜欢这个问题,这里有一个片段展示了它的工作原理:

问题是当结束括号出现并且没有开始括号伴随它时,您需要添加到“缺失”的计数中。

function countMissing(input) {
let danglingEnds = 0;
let opened = 0;
for (const character of input) {
if (character === '(') opened++;
else if (character === ')') {
if (opened === 0) danglingEnds++;
else opened--;
}
}
return opened + danglingEnds;
}

console.log(countMissing('(())'));
console.log(countMissing('(()'));
console.log(countMissing('))(('));
console.log(countMissing('(()('));
console.log(countMissing('(()()))(())(())'));

关于javascript - 如何实现计算缺少的括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56873149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com