要使其在C ++中有效的最小括号数
问题陈述
给定一串括号。它可以容纳左括号“(”或右括号“)”。我们必须找到最小括号,以使结果括号字符串有效。
示例
如果str=“(((()”)”,那么我们需要在字符串末尾加上2个右括号,即'))'
算法
计算开括号
计算右括号
必需的括号=abs(开括号的数量–闭括号的数量)
示例
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int requiredParentheses(string str) {
int openingParentheses = 0, closingParentheses = 0;
for (int i = 0; i < str.length(); ++i) {
if (str[i] == '(') {
++openingParentheses;
} else if (str[i] == ')') {
++closingParentheses;
}
}
return abs(openingParentheses - closingParentheses);
}
int main() {
string str = "((()";
cout << "Required parentheses = " << requiredParentheses(str) << endl;
return 0;
}当您编译并执行上述程序时。它产生以下输出-
Required parentheses = 2
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短