社区讨论
题目重新理解
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 条回复,欢迎继续交流。
正在加载回复...