中等
给你一个整数数组 nums。
如果子数组中相邻元素的差值是一个常数,那么这个子数组被称为 等差子数组。
你可以将 nums 中的 最多 一个元素替换为任意一个 整数。然后,从 nums 中选择一个等差子数组。
返回一个整数,该整数表示你可以选择的 最长 等差子数组的长度。
子数组 是数组中一段连续的元素序列。
示例 1:
输入: nums = [9,7,5,10,1]
输出: 5
解释:
- 将
nums[3] = 10替换为 3,数组变为[9, 7, 5, 3, 1]。 - 选择子数组
[9, 7, 5, 3, 1],它是等差数组,相邻元素的公差为 -2。
示例 2:
输入: nums = [1,2,6,7]
输出: 3
解释:
- 将
nums[0] = 1替换为 -2,数组变为[-2, 2, 6, 7]。 - 选择子数组
[-2, 2, 6, 7],它是等差数组,相邻元素的公差为 4。
提示:
4 <= nums.length <= 1051 <= nums[i] <= 105