day-80 长度为 K 的子数组的能量值 I
思路
返回数组长度为 n - k + 1,我们只需验证每个子数组是否满足能量值的定义即可,所以可以现将所有值设为-1
解题过程
化简:如果当前验证子数组的开始索引为i,那么则需验证i~i+k-1是否满足能量值定义,在判断过程中如果从索引j(i<j j<=i+k-1)开始不满足,那么从i到j-1为开始索引的子数组能力值皆为-1,可以直接从j为开始索引的子数组验证
Code
class Solution {public int[] resultsArray(int[] nums, int k) {int n=nums.length;int ans[]=new int[n-k+1];Arrays.fill(ans,-1);int i=0;while(i<=n-k){boolean flag=true;int po=0;for(int j=i+1;j<i+k;j++){if(nums[j]!=nums[j-1]+1){flag=false;po=j;break;}}if(flag){ans[i]=nums[i+k-1];i++;} else{i=po;}}return ans;}
}作者:菜卷
链接:https://leetcode.cn/problems/find-the-power-of-k-size-subarrays-i/solutions/2979700/chang-du-wei-k-de-zi-shu-zu-de-neng-lian-8n01/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。