满足以下关系的数组中的最长序列 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
。
接下来你从2
、3
开始,检查它们的和是否在数组中,它在那里,所以继续3
、5
,然后5
、8
,然后是 8
、13
。一旦你失败了,你就会原路返回并重新开始。
您可能希望使用散列映射来加快数组中的查找速度,或者只是在数组的剩余部分中进行二进制搜索。
这个问题是在考试中提出的。我们给出了一个大小为 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
。
接下来你从2
、3
开始,检查它们的和是否在数组中,它在那里,所以继续3
、5
,然后5
、8
,然后是 8
、13
。一旦你失败了,你就会原路返回并重新开始。
您可能希望使用散列映射来加快数组中的查找速度,或者只是在数组的剩余部分中进行二进制搜索。