0
点赞
收藏
分享

微信扫一扫

12.子数组最大平均数

alonwang 2022-04-13 阅读 157
算法java

        给一个整数数组,找出平均数最大且长度为 k 的下标连续的子数组,并输出该最大平均数。

  public static void main(String[] args) {
        int[]arr=new int[]{7,5,2,4,1,6,9,3};
        System.out.println(maxAverage(arr,3));
    }

    private static double maxAverage(int[] arr, int k) {
        int sum=0;
        for (int i = 0; i < k; i++) {
            sum+=arr[i];
        }
        int maxSum=sum;
        for (int i = k; i < arr.length; i++) {
            //减去出去的加上新进来的
            sum=sum-arr[i-k]+arr[i];
            maxSum=Math.max(maxSum,sum);
        }

        return 1.0*maxSum/k;
    }
举报

相关推荐

0 条评论