给你一个整数数组 nums 和一个整数 limit。
请你返回 最长非空子数组 的长度,要求该 子数组 中 任意两个元素 之间的差的 绝对值 都 小于或等于 limit。
示例 1:
输入: nums = [8,2,4,7], limit = 4
输出: 2
解释:
检查所有子数组,计算每个子数组中任意两个元素之间的最大绝对差:
[8] 的最大绝对差为 |8-8| = 0 <= 4。
[8,2] 的最大绝对差为 |8-2| = 6 > 4。
[8,2,4] 的最大绝对差为 |8-2| = 6 > 4。
[8,2,4,7] 的最大绝对差为 |8-2| = 6 > 4。
[2] 的最大绝对差为 |2-2| = 0 <= 4。
[2,4] 的最大绝对差为 |4-2| = 2 <= 4。
[2,4,7] 的最大绝对差为 |7-2| = 5 > 4。注意,元素对 (2, 7) 并不相邻,但仍然需要进行比较。
[4] 的最大绝对差为 |4-4| = 0 <= 4。
[4,7] 的最大绝对差为 |7-4| = 3 <= 4。
[7] 的最大绝对差为 |7-7| = 0 <= 4。
因此,最长子数组的长度为 2。
示例 2:
输入: nums = [10,1,2,4,7,2], limit = 5
输出: 4
解释:
子数组 [2,4,7,2] 满足条件,因为其中任意两个元素之间的绝对差都不超过 5,最大绝对差为 |7-2| = 5。
该子数组无法向左扩展,因为 [1,2,4,7,2] 包含元素对 (1, 7),其绝对差为 |7-1| = 6 > 5。因此,最长子数组的长度为 4。
示例 3:
输入: nums = [4,2,2,2,4,4,2,2], limit = 0
输出: 3
解释:
由于 limit = 0,子数组中任意两个元素都必须相等,因此只有由相同元素连续组成的子数组才满足条件。
满足条件的最长子数组为 [2,2,2],长度为 3。
提示:
1 <= nums.length <= 1051 <= nums[i] <= 1090 <= limit <= 109