题目描述:给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。
代码解析:先求出数组前k个元素的和,再逐个向后比较。
代码:
class Solution {
public:
double findMaxAverage(vector<int>& nums, int k) {
double sum=0,res=INT_MIN;
for(int i=0;i<nums.size();++i){
if(i<k) sum+=nums[i];
else{
res=max(sum,res);
sum+=nums[i]-nums[i-k];
}
}
res=max(sum,res);
return res/k;
}
};
本文介绍了一种算法,用于从给定的整数数组中找到长度为k的连续子数组,该子数组具有最大的平均值。通过计算前k个元素的和并逐步向后比较,实现了高效地找到目标子数组。
358

被折叠的 条评论
为什么被折叠?



