题意翻译(看了半天一脸懵,来帮助一下后人)

P1241 括号序列

Bramble_Marshall @ 2023-12-30 18:42:19

看了好几遍,终于懂了

( 下文所说的下标,以原字符串为主 )

样例1

原字符串 ([()

1. 从左到右扫描右括号, 发现下标为3处有一个右括号 ')',此时字符串为 ([()

2. 与其最近的未匹配的左括号为下标2处的 '(',配对,此时字符串为 ([()

3. 继续扫描,发现没有左括号了,此时字符串为 ([()

4. 为下标为0的未配对字符 '(' 添加一个 ')' 以与其配对,此时字符串为 ()[()

5. 为下标为1的(第4步结果中下标为2的)未配对字符 '[' 添加一个字符 ']' 以与其配对,此时字符串为 ()[]()

6. 输出结果 ()[]()

样例2

原字符串 ([)

1. 从左到右扫描右括号, 发现下标为2处有一个右括号 ')',此时字符串为 ([)

2. 与其最近的未匹配的左括号为下标1处的 '[',无法配对,为其添加一个 '(' 以与其配对,此时字符串为 ([()

3. 继续扫描,发现没有左括号了,此时字符串为 ([()

4. 为下标为0的字符 '(' 添加一个 ')' 以与其配对,此时字符串为 ()[()

5. 为下标为1的(第4步结果中下标为2的)字符 '[' 添加一个字符 ']' 以与其配对,此时字符串为 ()[]()

6. 输出结果 ()[]()

这就是我的理解,希望对你有帮助


by Fengxuyang @ 2024-05-07 23:00:44

@Bramble_Marshall 帮助确实很大


|