给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数

Posted tina666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数相关的知识,希望对你有一定的参考价值。

给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。

示例:

输入:[1,12,-5,-6,50,3], k = 4
输出:12.75
解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75
 

提示:

1 <= k <= n <= 30,000。
所给数据范围 [-10,000,10,000]。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/probl...

滑动窗口解法详细介绍:
https://leetcode-cn.com/probl...

/**
 * @param {number[]} nums
 * @param {number} k
 * @return {number}
 */
var findMaxAverage = function(nums, k) {
    let sum = 0 ,length = nums.length;
    for(let i = 0; i <k ;i ++){
        sum += nums[i]
    }

    var maxSum = sum;
    for(let i = k ; i < length; i ++){
        sum = sum - nums[i-k] +nums[i]
        maxSum = Math.max(maxSum,sum)
    }
    return maxSum/k

};

以上是关于给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数的主要内容,如果未能解决你的问题,请参考以下文章

[贪心][前缀和] Jzoj P4256 平均数

解题报告Leecode 643. 子数组最大平均数 I——Leecode 刷题系列

解题报告Leecode 643. 子数组最大平均数 I——Leecode 刷题系列

2021.8.9提高B组模拟1T3 平均数(二分)(贪心)

华为OD机试 - 几何平均值最大子数组(Java & JS & Python)

最长连续序列