【问题标题】:Remove Invalid Parenthesis删除无效括号
【发布时间】:2018-11-07 11:23:49
【问题描述】:

使用 Python 在 O(n) 时间复杂度和 O(1) 空间中删除无效括号。我很少有方法需要 O(n log n) 和 O(n^2) 时间以及 O(n) 空间和时间。但是,我正在寻找一个时间最短的。我尝试在网络上搜索,但找不到任何解决方法。

例如:

input - {}{}{{}}}}}{{{{{}
output - {}{}{{}}{}

还有其他几种边缘情况。

【问题讨论】:

  • 你试过两个指针的方法吗?
  • 我还没有你能解释一下吗
  • 从左边检查无效括号,如果计数器值小于0,则无效--忽略该括号使其有效。对于左无效括号,也从右侧重复此操作。
  • 听起来不错,我会试一试
  • 能否请您以正式的方式解释问题。你怎么知道必须删除哪个括号?

标签: python algorithm sorting


【解决方案1】:

在给定的示例中,嵌套级别如下:

 { } { } { { } } } } } { { { { { }
 1 0 1 0 1 2 1 0-1-2-3-2-1 0 1 2 1

如果您(即时)丢弃负面的,

 { } { } { { } } { { { { { }
 1 0 1 0 1 2 1 0 1 2 3 4 5 4

现在从右边重复。

 { } { } { { } } { { { { { }
-2-3-2-3-4-3-2-3-4-3-2-1 0 1

 { } { } { { } } { }
 0 1 0 1 0 1 2 1 0 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多