欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

643 LeetCode 子数组最大平均数I

程序员文章站 2022-07-15 23:24:03
...

题目描述:
643 LeetCode 子数组最大平均数I
思路:
如果每个子数组的和都重新计算一遍的话,会超值超时,因此计算子数组的时候,减去最前面的一个数,然后加上新的数,就是中间的数不变;

代码如下:

class Solution {
public:
    double findMaxAverage(vector<int>& nums, int k) {
        double sum=0;
        double xsum=0;
        for(int i=0;i<k;i++){
            sum+=nums[i];
        }
        xsum=sum;
        for(int i=k;i<nums.size();i++){
            sum=sum+nums[i]-nums[i-k];
            xsum=max(sum,xsum);
        }
        return xsum/k;
    }
};