java 实现窗口函数

public class SlidingWin {
public static void main(String[] args) {
SlidingWin slidingWin = new SlidingWin();
double v = slidingWin.SlidWin(2);
System.out.println(v);
}
public double SlidWin(int k){
int [] array =new int[]{2,4,5,6,9,10,12,23,1,3,8,17,22};
//求出第一个滑动窗口的值
int sum =0;
for(int i=0;i<k;i++){
sum+=array[i];
}
//从后面开始从k位置开始移动
int max=sum;//求出最大值
int lengths = array.length;
for(int i=k;i<array.length;i++){
sum=sum-array[i-k ]+array[i];
if(max<sum){
max=sum;
}
}
System.out.println(max);
return 1.0* max/k;
}
public double slidWin(int k){
int[]arrays =new int[]{1,5,3,2,6,9,7,8,10,4,12};
int sum =0;
for(int i=0;i<k;i++){
sum+=arrays[i];
}
int max=sum;
int length = arrays.length;
for(int i=k;i<length;i++){
sum=sum-arrays[i-k]+arrays[k];
max = Math.max(sum, max);
}
return 1.0* max/k;
}
}