Java 字符串中的平衡圆括号
我在hackerrank里玩,我试过一个关于平衡括号的问题 问题:给定一个由左括号和右括号组成的字符串,“('和')”,根据需要插入括号以平衡括号。确定必须插入的最小字符数。您只需要返回必须插入的括号数。此外,字符串将只包含括号(这就是为什么我没有专门检查右括号) 我的思维过程: 确定开括号和闭括号的数量。返回两者之间差值的绝对值。不幸的是,它失败了两个测试用例,我不知道为什么 我的解决方案Java 字符串中的平衡圆括号,java,string,parentheses,Java,String,Parentheses,我在hackerrank里玩,我试过一个关于平衡括号的问题 问题:给定一个由左括号和右括号组成的字符串,“('和')”,根据需要插入括号以平衡括号。确定必须插入的最小字符数。您只需要返回必须插入的括号数。此外,字符串将只包含括号(这就是为什么我没有专门检查右括号) 我的思维过程: 确定开括号和闭括号的数量。返回两者之间差值的绝对值。不幸的是,它失败了两个测试用例,我不知道为什么 我的解决方案 public static int getMin(String s) { // Write your c
public static int getMin(String s) {
// Write your code here
int leftPar = 0;
int rightPar = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ')') {
rightPar++;
}
else {
leftPar++;
}
}
return Math.abs(rightPar - leftPar);
}
平衡不仅仅意味着相同的数字;他们需要匹配。考虑“”(“你的代码会假设这是“平衡的”),但它不是。这就是我所缺少的。非常感谢。“AZUR青蛙应该像编译器一样去吗?平衡不只是意味着相同的数目,它们需要匹配。考虑一下)(”你的代码会假设这是“平衡的”。,但它不是。这就是我所缺少的。非常感谢。@azurefrog我们应该像编译器那样去做吗?
public static int getMin(String s) {
// Write your code here
int bal = 0;
int ans = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '(') bal++;
else bal--;
if (bal == -1) {
ans++;
bal++;
}
}
return bal + ans;
}
pars = "()))))))))))))))))))))))()()))()))))))))()))))))()))()))))(()))))))))))))()))))))(()))))))))()()))))))))))))()))))(())()))))))(()))))()))))))()))()())))())))))))))))()))())(()()())()()())))))()))))())()))()))))))))))))))()())))()))))()))))))()))())()))())))(()))()))))))))())))())))(())()))))()((()))))))((((()())())())(())))))())())))))))())))))()(()))))()))))())))))()())())()))()))))))))()))))))))))()))))())))))(((()))))()))((())))())))))))())))()()())())))))())))())())))))(())())))))))())))()()))))))))))))(())())())))((()))))))(())))()())))()))))(())))(())))))))))))))(())))(())()))))(()))())())))))))()())(()(())())))))))))))))))))))))))((()())))())))())))((()())))()))())()))))())()())))))))))))(()))))))))))))))()))))))()))))))))))))))))(()(()))(()))()))))))()))()()))))))))))()))())()))))())))()()()))()))))(())))))))))))))()()))))(())))()))))))()))()())()))())()())())))()()(()())))))()())))))))())))())))(())))())))))))()))))))))()((()(())))))))))(())))())))())))))))))()())))()))))))))("