这道题我稍微思考了一下,用了不同于题解的另一种方法…只不过蒟蒻的我因为一个小错误WA了三个点。不废话了。
首先直接把步数赋值成 字符串长度/2,因为消除必须要用这么多步数。随后,遍历,遇到 '(' 直接使数量++,碰到 ')',就判断 '(' 的数量是否大于 ')' 的数量,也就是是否有 '(' 与当前 ')' 匹配,若没有,直接将步数++,在意义上将此 ')' 改成 '(' 使 '(' 计数++,其他情况就让 ')' 计数器正常++。最后,步数 += '(' 数量 + ')' 数量 的和除以二(相当于让左括号数量与右括号数量平衡,假设你有 5 元,我有 1元,如何平衡?钱多的人减去两人钱数之差除以二,钱少的加上,就可以平衡了,这里是一样的)然后就AC!(本蒟蒻比赛时因为小错误WA了三个点qwq)
AC代码参考:
全部评论
(3) 回帖