编辑代码

class Main {
	public static void main(String[] args) {
        int n=5;
        int[] array={5,2,2,2,2};
        int avgg = maxAverage(n, array); 
        System.out.println(avgg);
	}

    public static int maxAverage(int n, int[] array) {

        int length = n;
        int sum;
        float currentAvg = 0;// 当前的平均值
        int markI = 0;// 标记连续子序列的起始下标
        int markJ = 0;// 标记连续子序列的结束下标
        for (int i = 0; i < length; i++) {
        sum = 0;// 重置sum
        for (int j = i; j < length; j++) {
            sum = sum + array[j];// 累积求和
            float avg = (float) sum / (j - i + 1);
            if (avg > currentAvg && i != j) {// 如果起始下标等于结束下标,就是表明是单个元素,此块要排除
            markJ = j;
            markI = i;
            currentAvg = avg;
            }
        }
        }
        int floorNum = (int) Math.floor(currentAvg);
        return floorNum;
    }
}