社区讨论

题目重新理解

P1241括号序列参与者 11已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@lo9cgpqc
此快照首次捕获于
2023/10/28 09:09
2 年前
此快照最后确认于
2023/10/28 09:09
2 年前
查看原帖
这个题目恶心到我了,总算是过了。下面写一下我对题目含义的个人理解,希望是对的。
扫一遍这个括号序列,每遇到一个右括号,如‘]’‘)’,就找上一个没有被匹配过的左括号。如果这两个括号是可以匹配的,则匹配;如果不能匹配,则不管这个右括号,继续向右扫。整个序列扫完一遍之后,再扫一遍。如果遇到没有匹配过的左括号或者右括号,直接输出一对括号。
提供两组样例:
样例一:
CPP
([)]
输出:
CPP
()[()]
解释:
CPP
读入时,遇到的第一个右括号是第3位的‘)’,但是上一个没有被匹配过的左括号是第2位的‘[’,所以不管这个右括号。继续,下一个右括号是第4位的‘]’,上一个没有匹配过的左括号还是第2位的‘[’,所以匹配成功。
第一遍匹配结束之后,第1位的‘(’和第3位的‘)’是没有被匹配过的,所以在原位变成一对。
样例二:(其实也是本题的测试点一)
CPP
([(]
输出:
CPP
()[]()[]
希望能为看到这个帖子的大佬们节省一些时间。

回复

10 条回复,欢迎继续交流。

正在加载回复...