定长滑动窗口,本质上和01,02没有区别
class Solution {
public int numOfSubarrays(int[] arr, int k, int threshold) {
int l=0;
int r=0;
int sum=0;
int ave=0;
int count=0;
while(r<k){
sum=sum+arr[r];
r++;
}
ave=sum/k;
if(ave>=threshold){
count++;
}
for(;r<arr.length;++r){
sum=sum+arr[r]-arr[r-k];
ave=sum/k;
if(ave>=threshold){
count++;
}
}
return count;
}
}
选取左右边界,取第一个窗口,不断向右滑动并对窗口内的数据操作,判断是否符合要求,最后返回数值;