# LeetCode 3254. Find the Power of K-Size Subarrays I
https://leetcode.com/problems/find-the-power-of-k-size-subarrays-i/description/
## 題目大意
給定一個長度為 `n` 的整數陣列 `nums` 和正整數 `k`
定義 power of array :
- 若陣列中的所有元素都是連續且升序排序,則為陣列的最大元素
- 否則,為 -1
求出 `nums` 中所有長度為 `k` 之子陣列 power
回傳長度 `n - k + 1` 的整數陣列,其中 `results[i]` 是子陣列 `nums[i..(i + k - 1)]` 的 power
<div style="text-align: center;">
<img src="https://pbs.twimg.com/media/EX7UnaUXkAEKw9d.png" alt="Vergil: What form of power is this" style="width: 50%;"/>
</div>
## 思考
C++ 參考答案:
```cpp!
class Solution
{
public:
vector<int> resultsArray(vector<int> &nums, int k)
{
if (k == 1)
return nums;
const int n = nums.size();
vector<int> ans(n - k + 1, -1);
for (int i = 0, len = 1; i < n - 1; ++i)
{
if (nums[i] + 1 == nums[i + 1])
++len;
else
len = 1;
if (len >= k)
ans[i - k + 2] = nums[i + 1];
}
return ans;
}
};
```
Go 參考答案:
```go!
func resultsArray(nums []int, k int) []int {
if k == 1 {
return nums
}
n := len(nums)
ans := make([]int, n-k+1)
len := 1
for i := 1; i < n; i++ {
if nums[i-1]+1 == nums[i] {
len++
} else {
len = 1
}
if i >= k-1 {
if len >= k {
ans[i-k+1] = nums[i]
} else {
ans[i-k+1] = -1
}
}
}
return ans
}
```