【发布时间】:2019-08-08 06:11:34
【问题描述】:
这个问题是在考试中提出的。我们给出了一个大小为 n 的数组。
我们需要找到最长的序列,使其保持以下关系
如果 X 是最长序列比:
X[i] = X[i-1] + X[i-2]
示例:a= [3,2,7,13,5,8,11,19]
比 X = [2,3,5,8,13]
我正在考虑一些动态逻辑,但我无法推导出关系。
【问题讨论】:
-
Sequence通常假设没有重新排序。什么是确切的问题表述? -
@MBo 我相信 subsequence 意味着没有重新排序,但是如果我们需要创建新的 sequence 我们可以使用任何顺序。
-
相对于输入数组的序列确实必须遵守我假设的输入数组的顺序。在您的情况下,您似乎需要从满足特定关系的数组中按递增顺序排列的一组数字。
-
是序列对应集合。
-
并非如此,顺序就是顺序,这就是为什么您可以像
X[i]那样对其进行索引。通常,当我们被告知要找到子序列时,这意味着它应该保持初始顺序,例如1,3是1,2,3的子序列,但3,1不是。
标签: arrays algorithm sequence dynamic-programming