解題思路:
(1)先求出初始k個值的總和,最爲初始的最大值
(2)使用兩個指針,一個保持當前的窗口中k個數的總和sum
(3)一個用來記錄當前所有窗口中的最大值max,判斷更新
class Solution {
public:
double findMaxAverage(vector<int>& nums, int k) {
int max = 0,temp;
for(int i=0;i<k;i++) max+=nums[i];
int sum = max;
for(int i=k;i<nums.size();i++) {
temp = sum+nums[i]-nums[i-k];
if(temp>max) max = temp;
sum = temp;
}
return max/(double)k;
}
};