在毕业找到工作的第二个星期找到工作稳定之后,正式继续开始博客之旅,还是从每日一算法开始
Question:
Given an array consisting of n integers, find the contiguous subarray of given length k that has the maximum average value. And you need to output the maximum average value.
Example 1:
Input: [1,12,-5,-6,50,3], k = 4 Output: 12.75 Explanation: Maximum average is (12-5-6+50)/4 = 51/4 = 12.75
代码如下:
public class Solution {
public double findMaxAverage(int[] nums, int k) {
double res = Integer.MIN_VALUE;
for (int s = 0; s < nums.length - k + 1; s++) {
double sum = 0;
for (int i = 0; i < k; i++) {
sum += nums[i + s];
}
res = Math.max(res, sum / k);
}
return res;
}
}