LeetCode--1027. 最长等差数列
最后更新于
最后更新于
给你一个整数数组
nums
,返回nums
中最长等差子序列的长度。回想一下,
nums
的子序列是一个列表nums[i1], nums[i2], ..., nums[ik]
,且0 <= i1 < i2 < ... < ik <= nums.length - 1
。并且如果seq[i+1] - seq[i]
(0 <= i < seq.length - 1
) 的值都相同,那么序列seq
是等差的。
最开始就是想到的枚举difference,但是感觉时间复杂度都比较高,直接pass了,回头去看题解还真是这么写的。。
另一种方法,对于特别大的数字,时间复杂度会相对比较低,缺点就是空间复杂度很高。
我们会每一位和每一位的difference,然后f[i][d]表示以第i个数字结尾的difference为d的序列长度。