25、LeetCode 2021/2/4 643. 子数组最大平均数 I
643. 子数组最大平均数 I
难度简单147
给定
n
个整数,找出平均数最大且长度为k
的连续子数组,并输出该最大平均数。示例:
输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75
class Solution {
public double findMaxAverage(int[] nums, int k) {
int sum = 0;
int n = nums.length ;
//计算前k个数的和
for(int i = 0 ; i < k ; i++){
sum += nums[i];
}
int maxSum = sum; //假设sum 最大
//从第k个开始
for(int i = k ; i < n ; i++){
sum = sum - nums[i-k] + nums[i];
maxSum = Math.max(maxSum , sum);
}
return 1.0 * maxSum / k;
}
}