Medium
You are given an array of integers nums of length n and a positive integer k.
The power of an array is defined as:
You need to find the power of all subarrays of nums of size k.
Return an integer array results of size n - k + 1, where results[i] is the power of nums[i..(i + k - 1)].
Example 1:
Input: nums = [1,2,3,4,3,2,5], k = 3
Output: [3,4,-1,-1,-1]
Explanation:
There are 5 subarrays of nums of size 3:
[1, 2, 3] with the maximum element 3.[2, 3, 4] with the maximum element 4.[3, 4, 3] whose elements are not consecutive.[4, 3, 2] whose elements are not sorted.[3, 2, 5] whose elements are not consecutive.Example 2:
Input: nums = [2,2,2,2,2], k = 4
Output: [-1,-1]
Example 3:
Input: nums = [3,2,3,2,3,2], k = 2
Output: [-1,3,-1,3,-1]
Constraints:
1 <= n == nums.length <= 1051 <= nums[i] <= 1061 <= k <= nclass Solution {
fun resultsArray(nums: IntArray, k: Int): IntArray {
if (k == 1) {
return nums
}
var start = 0
val n = nums.size
val output = IntArray(n - k + 1)
for (i in 1 until n) {
if (nums[i] != nums[i - 1] + 1) {
start = i
}
val index = i - k + 1
if (index >= 0) {
if (start > index) {
output[index] = -1
} else {
output[index] = nums[i]
}
}
}
return output
}
}