给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。
请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。
任何误差小于 10-5 的答案都将被视为正确答案。
来源:力扣(LeetCode) 链接:leetcode.cn/problems/ma…
/**
* 1. 先把前k个值相加,暂作为max;
* 2. 比较数组中的当前值与k个数之前的值大小;
* 3. 然后得出最大值;
*/
public class FindMaxAverage {
public Double findMaxAverage(int[] nums, int k) {
int sum = 0;
for (int i = 0; i < k; i++) {
sum += nums[i];
}
int max = sum;
for (int i = k; i < nums.length; i++) {
sum = sum + nums[i] - nums[i - k];
max = Math.max(max, sum);
}
return 1.0 * max / k;
}
}