找到第k个有效括号序列

时间:2017-07-08 15:18:07

标签: algorithm brackets

我正试图用括号序列解决相当复杂的问题。

在以下情况下,我们定义一个有效的括号序列:

  • 字符串为空
  • 该字符串的格式为(B),其中B是有效括号序列。
  • 该字符串的格式为LR,其中L和R都是有效的括号序列。

现在假设我们有两个整数N和K.我们定义一个N类型的括号序列,它具有正好N'(',开括号和N')',闭括号。如果括号序列按字典顺序排序,我们的任务是找到Kth括号序列。

约束

N <= 100

K <= 10 ^ 18

示例

假设N = 3,我们有5个有效的括号表达式。

  1. ((()))
  2. (()())
  3. (())()
  4. ()(())
  5. ()()()
  6. 我们的任务是从此顺序返回Kth序列。

    我对解决方案的看法

    我认为我们应该首先使用动态编程进行一些计算,然后返回Kth排列。但是,我坚持使用动态编程计算。提前谢谢。

0 个答案:

没有答案