满足以下关系的数组中的最长序列 X[ i ] = X[ i-1 ] + X [ i-2 ]

Longest sequence from an array such that following relation holds X[ i ] = X[ i-1 ] + X [ i-2 ]

这个问题是在考试中提出的。我们给出了一个大小为 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]

我正在考虑一些动态逻辑,但无法推导出关系。

首先你对它进行排序得到 2,3,5,7,8,11,13,19

接下来你从23开始,检查它们的和是否在数组中,它在那里,所以继续35,然后58,然后是 813。一旦你失败了,你就会原路返回并重新开始。

您可能希望使用散列映射来加快数组中的查找速度,或者只是在数组的剩余部分中进行二进制搜索。