643. 子数组最大平均数 I

子数组最大平均数 I

描述 :

给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。

请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。

任何误差小于 10-5 的答案都将被视为正确答案。

题目 :

LeetCode 643.子数组最大平均数 ::

643. 子数组最大平均数 I

643. 子数组最大平均数 I_第1张图片

分析 :

这是典型的滑动窗口,大小都规定了,就是K,那我们只要先读取k个,然后逐步让窗口向前走就可以了 .

解析 :

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

这期就到这里 , 下期见!

你可能感兴趣的:(算法,leetcode,数据结构,java,开发语言)