3254. 长度为 K 的子数组的能量值 I

https://leetcode.cn/problems/find-the-power-of-k-size-subarrays-i/description/
给你一个长度为 n 的整数数组 nums 和一个正整数 k 。

一个数组的 能量值 定义为:

如果 所有 元素都是依次 连续 且 上升 的,那么能量值为 最大 的元素。
否则为 -1 。
你需要求出 nums 中所有长度为 k 的 子数组 的能量值。

请你返回一个长度为 n - k + 1 的整数数组 results ,其中 results[i] 是子数组 nums[i..(i + k - 1)] 的能量值。
class Solution {
public:
vector resultsArray(vector& nums, int k) {
if(k==1)return nums;
int n=nums.size();
vectorresults;
for(int i=0;i<=n-k;i++){
bool isContinuous=true;
int maxVal=nums[i];
for(int j=1;j<k;j++){
if(nums[i+j]!=nums[i+j-1]+1){
isContinuous=false;
break;
}
maxVal=max(maxVal,nums[i+j]);
}
if(isContinuous){
results.push_back(maxVal);
}
else results.push_back(-1);
}return results;
}

};

posted @ 2025-03-31 00:11  BiankaShenhen  阅读(26)  评论(0)    收藏  举报