643. Maximum Average Subarray I
in Coding Interview on Array, Sliding Window
길이가 k와 같고 평균값이 최대인 연속된 하위 배열을 찾아 이 값을 반환
class Solution {
// 최대 평균 하위 배열
// T: O(n)
public double findMaxAverage(int[] nums, int k) {
double sum = 0;
// 처음 K까지의 총합을 구한다.
for (int i = 0; i < k; i++) {
sum += nums[i];
}
double res = sum;
// 슬라이딩 윈도우로 진행하면서
for (int i = k; i < nums.length; i++) {
// 다음값을 추가하고 처음값을 제외한다.
sum += nums[i] - nums[i-k];
// 최대값과 비교한다.
res = Math.max(res, sum);
}
// 평균값을 리턴한다.
return res / k;
}
}