目录
- 一、题目
- 二、思路
-
- [2.1 解题思路](#2.1 解题思路)
- [2.2 代码尝试](#2.2 代码尝试)
- [2.3 疑难问题](#2.3 疑难问题)
- 三、解法
- 四、收获
-
- [4.1 心得](#4.1 心得)
- [4.2 举一反三](#4.2 举一反三)
一、题目
![](https://i-blog.csdnimg.cn/direct/6b5a4d8ad3a24579a76f8a31d1f50868.png)
二、思路
2.1 解题思路
和之前一样,用一个sum来存储统计情况,窗口滑动边统计,用两个for循环,一个初始化,另一个遍历。已经有设计模板的感觉了。
2.2 代码尝试
bash
class Solution {
public:
double findMaxAverage(vector<int>& nums, int k) {
int maxv=0;
int sum=0;
for(int i=0;i<k;i++){
sum+=nums[i];
}
maxv=sum;
for(int i=1;i<=nums.size()-k;i++){
sum+=nums[i+k-1];
sum-=nums[i-1];
maxv=max(maxv,sum);
}
return double(maxv)/k;
}
};
2.3 疑难问题
时间复杂度有点高
三、解法
四、收获
4.1 心得
简单题重拳出击。
转换为double类型,还可以*0.1