### 643 Maximum Average Subarray I
题目描述:Given an array consisting of
n
integers, find the contiguous subarray of given lengthk
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
题目大意:给定一个长度为n的数组,给定一个长度k,找出最大的连续k个数的平均值。
思路:滑动窗口
代码
package Array; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Solution { public double findMaxAverage(int[] nums, int k) { long sum = 0; for(int i=0;i<k;i++) { sum += nums[i]; } long max = sum; for(int i=k;i<nums.length;i++) { sum = sum - nums[i - k] + nums[i]; max = Math.max(max,sum); } return max / 1.0 / k; } }