【发布时间】:2021-01-06 06:40:28
【问题描述】:
我们有 3 种类型的括号:'['、'('、'{'。
检查括号的顺序是否平衡并不难,但这个问题似乎有点棘手。
让我们考虑一个例子:“()({[]”。在这种情况下,答案将是“()”或“[]”(它们的长度都是 2)
但我们也有这样的例子:“()({[]})”。在这种情况下,答案将是这个序列本身(嗯,因为它是平衡的)。但在某些时候,我们将迭代与前一个示例相同的子序列。那么,我们如何“合并”这些答案呢?
为了更好地理解我的挣扎,让我解释一下。
再说一遍,前面的例子。当我们迭代这样的子序列“()({[]”时,我们有最大长度2和两个子序列之一(“[]”或“()”)。但到最后我们应该得到这个:“() ({[]})"。
处理这个括号序列的首选方法是什么?
【问题讨论】:
标签: algorithm