力扣打卡之子数组的最大平均数【滑动窗口算法】

题目描述

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

解题思路

我们使用滑动窗口的方式进行求解,怎么使用滑动窗口?

代码展示

public static double maxMerge(int[] nums,int k){
    int sum=0;  
    int n=nums.length;  //使用一个变量来存储数组的长度
    for(int i=0;i<k;i++){
        sum+=nums[i];
    }
    int max=sum;
    for(int i=k;i<n;i++){
        sum=sum-nums[i-k]+nums[i]; //每次往后面移动一格
        max=Math.max(sum,max);    //取出最大值
    }
    return 1.0*max;  
} 

 这里就是滑动窗口的实现了


版权声明:本文为young_man2原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。