32. Longest Valid Parentheses

1.問題

2.想法

  • 提問

    • 如果不連續的()括號對, 是否可以累積?

  • function header, parameter

  • test input

  • 說明想法

    • 依題意是如果括號對不連續, 則必須重新計算長度

    • 因此除了用stack儲存()外, 必須用stack儲存()在字串中的位置

      • 當()()時, ()(會先被pop, 剩下___), 長度等同於3 - (-1) =4

      • 當())()時,()會先被pop, 剩下__)_),長度等同於4 - 2 =2

      • 每一次計算新的window長度時, 與先前的相比取最大值

  • 測試計算複雜度: O(n)

3.程式碼

Last updated