假设我们有一些不相交的减少序列:
s1={10,8,2}
s2={9,5,4,1}
s3={7,6,3}
我选择一些递减序列(比如按s2
,s1
,s2
,s3
,s2
的顺序递减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 |)。
答案 0 :(得分:-1)
最长增长子序列的长度不能超过两个。因为你连接的序列正在减少,所以如果你从一个序列的最后一个数字到另一个序列的第一个数字,它只能是一个递增的序列。要确定序列S中是否存在长度为2的递增子序列,您只需要关注要连接的序列的结束和开头。