求子数组最大平均数--算法
求子数组最大平均数[我的解法,思路在代码注释中]

官方的解法[下面有图解]


第二组和第一组之和比较最大值,结果是第二组51大

第3组和上组比较最大值51比较,明显结果还是51大

第4组和上组比较最大值51比较,明显结果还是51大

第5组和上组比较最大值51比较,明显结果还是51大

最后求子数组最大平均数

public double findMaxAverage(int[] nums, int k) {
int sum = 0;
int n = nums.length;
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 = Math.max(maxSum, sum);
}
return 1.0 * maxSum / k;
}
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/maximum-average-subarray-i/solution/zi-shu-zu-zui-da-ping-jun-shu-i-by-leetc-us1k/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
* 博客文章部分截图及内容来自于学习的书本及相应培训课程,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* 备注:王先生
* 我的网易邮箱:wzw_1314_520@163.com

浙公网安备 33010602011771号