Maximum Average Subarray I
给一个数组, 找出其中最大k个数的平均值. 返回平均值. k是固定的, 其实就是k元素个子数组的最大和. 用滑动窗口做.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class Solution { public double findMaxAverage(int[] nums, int k) { double max = 0; double local = 0; for(int i = 0; i < nums.length; i++) { if(i < k) { max += nums[i]; local = max; } else { local -= nums[i-k]; local += nums[i]; max = Math.max(local ,max); } } return max/k; } } |