Solution :
class Solution {
public double findMaxAverage(int[] nums, int k) {
if (k > nums.length) return 0.0;
int begin = 0, end = 0;
double sum = 0.0;
double maxAverage = Double.NEGATIVE_INFINITY;
while (end < nums.length) {
sum += nums[end];
//As soon as the window size is k find the avg and store in Max Average.
if (end - begin + 1 == k) {
double tempAvg = sum/k;
maxAverage = Math.max(maxAverage, tempAvg);
sum -= nums[begin];
begin++;
}
end++;
}
return maxAverage;
}
}