LeetCode 643 题解

 https://leetcode.com/problems/maximum-average-subarray-i/description/

题目大意:求n个数连续k个的平均值最大是多少

题目思路:直接滑过去,注意比较的最小值res的初值。

class Solution {
    public double findMaxAverage(int[] nums, int k) {
        int sum = 0;
        double res =-1000000;
        int n = nums.length;
        for(int i=0;i<n;i++)
        {
            if(i<k) 
            {
                sum+=nums[i];
            }
            else
            {
                res = Math.max(res,(double)sum / (k*1.0) );
                sum = sum-nums[i-k]+nums[i];
            }
        }
        res = Math.max(res,(double)sum / (k*1.0) );
        
        return res;
    }
}

猜你喜欢

转载自blog.csdn.net/u011439455/article/details/80453423