2025-03-25:长度为 K 的子数组的能量值Ⅱ。用go语言,给定一个长度为 n 的整数数组 nums 和一个正整数 k,你需要计算每个长度为 k 的子数组的能量值。
能量值的定义如下:
1.如果子数组中的元素是连续递增的(即 nums[i] + 1 = nums[i + 1] 对于所有有效的 i),那么能量值为该子数组中的最大元素。
2.如果不是连续递增,则能量值为 -1。
你的任务是返回一个长度为 n - k + 1 的数组 results,数组中的每个元素 results[i] 对应于子数组 nums[i..(i + k - 1)] 的能量值。
1 <= n == nums.length <= 100000。
1 <= nums[i] <= 1000000。
1 <= k <= n。
输入:nums = [1,2,3,4,3,2,5], k = 3。
输出:[3,4,-1,-1,-1]。
解释:
nums 中总共有 5 个长度为 3 的子数组:
[1, 2, 3] 中最大元素为 3 。
[2, 3, 4] 中最大元素为 4 。
[3, 4, 3] 中元素 不是 连续的。
[4, 3, 2] 中元素 不是 上升的。
[3, 2, 5] 中元素 不是 连续的。
相似问题