题目:
给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。
示例:
输入:[1,12,-5,-6,50,3], k = 4
输出:12.75
解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75
代码:
class Solution {
public:
double findMaxAverage(vector<int>& nums, int k) {
int maxn=0;
for(int i=0;i<k;i++){
maxn+=nums[i];
}
if(nums.size()==k) double(maxn)/k;
int temp=maxn;
for(int i=k;i<nums.size();i++){
temp=temp+nums[i]-nums[i-k];
maxn=max(temp,maxn);
}
return double (maxn)/k;
}
};