求子数组最大平均数--算法
求子数组最大平均数[我的解法,思路在代码注释中]
官方的解法[下面有图解]
第二组和第一组之和比较最大值,结果是第二组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