【问题标题】:Does a subsequence need to be continuous子序列是否必须是连续的
【发布时间】:2015-09-11 23:57:25
【问题描述】:

我是动态编程的新手,正在阅读最长递增子序列 (LIS) 问题。

该解决方案表明该序列不必像原始数组中那样是连续的。元素之间可以跳过;但我有另一种印象。

请您帮忙澄清一下这个困惑。

比如说: a = {10,22,9,33,55,66,12,90} LIS 是{10,22,33,55,66,90} => 6

不过,我以为是{33,55,66}

谢谢

【问题讨论】:

  • Subsequence 的维基百科页面可能会回答您的问题。或者 SO subsqeuence 标签上的描述性文本。

标签: algorithm dynamic-programming subsequence


【解决方案1】:

子序列不需要是连续的。通过从数组中删除零个或多个元素来形成子序列。另一方面,subaaray 始终是连续的。让我们举个例子:

a = {10,22,9,33,55,66,12,90}

这里,{10,22,33,55,66,90} 是最长递增子序列,{33,55,66} 是最长递增子数组。

所以,您基本上回答的是最长递增子数组问题的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-04
    • 2020-03-16
    • 2011-03-26
    • 2019-06-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2015-09-14
    相关资源
    最近更新 更多