第二题可以直接遍历每个字符,并且记录当前位置之前的 ( 的个数 = left,如果当前位置为 ) 则看前面是否 left > 0,是的话则 left-- 然后继续遍历下一个字符;如果 left = 0 则前面没有 ( 了,此时向后面找第一个 ( 的位置,交换这两个字符并记录交换次数,然后继续遍历即可;这样可以解决 81% 会超时,为了减少查找次数可以在向后找第一个 ( 时维护当前的位置,下次直接从记录的位置向后找,这样就不超时了,但还是81%,此时把总交换次数的类型从 int 换成 long 就能100%
2 1

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务