一组不相交的递减序列的最长增加的子序列

时间:2014-10-05 07:11:21

标签: algorithm data-structures

假设我们有一些不相交的减少序列:

s1={10,8,2}
s2={9,5,4,1}
s3={7,6,3}

我选择一些递减序列(比如按s2s1s2s3s2的顺序递减5个序列)并将它们连接起来(结果序列为S = {9,5,4,1,10,8,2,9,5,4,1,7,6,3,9,5,4,1}

现在我想找到S 中增长最长的子序列的长度。在上面的示例中:5 - > {1,2,4,7,9}

预期时间复杂度小于 O(| S |)

1 个答案:

答案 0 :(得分:-1)

最长增长子序列的长度不能超过两个。因为你连接的序列正在减少,所以如果你从一个序列的最后一个数字到另一个序列的第一个数字,它只能是一个递增的序列。要确定序列S中是否存在长度为2的递增子序列,您只需要关注要连接的序列的结束和开头。