9972: 最长等差数列
[Creator : ]
Description
给你一个整数数组 nums,返回 nums 中最长等差子序列的长度。
回想一下,nums 的子序列是一个列表 nums[1], nums[2], ..., nums[k] ,且 $0 \leq i_1< i_2< ... < i_k \leq nums.length - 1$。并且如果 seq[i+1] - seq[i] $(0 \leq i < seq.length - 1)$ 的值都相同,那么序列 seq 是等差的。
回想一下,nums 的子序列是一个列表 nums[1], nums[2], ..., nums[k] ,且 $0 \leq i_1< i_2< ... < i_k \leq nums.length - 1$。并且如果 seq[i+1] - seq[i] $(0 \leq i < seq.length - 1)$ 的值都相同,那么序列 seq 是等差的。
Input
第一行一个整数 $n\ (1 \leq n \leq 2\times 10^3)$。
第二行包含 $n$ 个整数 $num_i\ (0 \leq num_i \leq 500)$。
第二行包含 $n$ 个整数 $num_i\ (0 \leq num_i \leq 500)$。
Output
输出答案。
Sample 1 Input
4
3 6 9 12
Sample 1 Output
4
整个数组是公差为 3 的等差数列。
Sample 2 Input
5
9 4 7 2 10
Sample 2 Output
3
最长的等差子序列是 [4,7,10]。
Sample 3 Input
7
20 1 15 3 10 5 8
Sample 3 Output
4
最长的等差子序列是 [20,15,10,5]。