0643. Maximum Average Subarray I

0643. Maximum Average Subarray i #

题目 #

  • 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k
  • 请你找出平均数最大且 长度k 的连续子数组,并输出该最大平均数。
  • 任何误差小于 10^-5 的答案都将被视为正确答案。

思路 #

模拟 #

代码 #

模拟 #

class Solution {
    public double findMaxAverage(int[] nums, int k) {
        int ans = 0, windowSum = 0;
        for (int i = 0; i < k; i++) windowSum += nums[i];
        ans = windowSum;
        int left = 0, right = k - 1;
        while (right <= nums.length - 2) {
            windowSum += nums[++right] - nums[left++];
            ans = Math.max(ans, windowSum);
        }
        return (double) ans / k;
    }
}