关于滑动窗口方法(cpp实现)
1.初始取如下窗口
2.之后每次移动一个单位的数组元素
3.重复2直至窗口到达数组边界
(以下代码来自力扣官方解决方案点击此处跳转)
class Solution {
public:
double findMaxAverage(vector<int>& nums, int k) {
int sum = 0;
int n = nums.size();
for (int i = 0; i < k; i++) {
sum += nums[i];
}
int maxSum = sum;
for (int i = k; i < n; i++) { //窗口左部收缩右部生长
sum = sum - nums[i - k] + nums[i];
maxSum = max(maxSum, sum);
}
return static_cast<double>(maxSum) / k;
}
};