我有一百万个按排序顺序排列的整数,我想找到最长的子序列,其中连续对之间的差异相等。例如1,4,5,7,8,12有一个子序列4,8,12我的幼稚方法是贪婪的,只是检查您可以从每个点扩展子序列多远。这似乎每点需要O(n²)时间。有没有更快的方法来解决这个问题?更新。我会尽快测试答案中给出的代码(谢谢)。但是很明显,使用n^2内存是行不通的。到目前为止,没有任何代码以输入为[random.randint(0,100000)forrinxrange(200000)]终止。时序。我在32位系统上使用以下输入数据进行了测试。a=[random.randint(0,10000)forrinxrang