题目
https://leetcode-/problems/maximum-average-subarray-i/
题解
滑动窗口解法,示意图:
另外,double 计算比 int 要慢,所以中间记录的值要设成 int 型,最后返回的时候再转换成 double
class Solution {public double findMaxAverage(int[] nums, int k) {int maxSum = 0;int curSum = 0;// initfor (int i = 0; i < k; i++)curSum += nums[i];maxSum = curSum;// updatefor (int i = 0; i < nums.length - k; i++) {curSum = curSum - nums[i] + nums[i + k];maxSum = Math.max(curSum, maxSum);}return (double) maxSum / k;}}