力扣643-子数组最大平均值I【学习笔记】

73 阅读1分钟

问题:找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。

方法:滑动窗口

每次移动时,减去最前面一个,加上当前窗口最后一个

var findMaxAverage = function(nums, k) {
    let start = 0
    let end = k-1
    let len = nums.length
    let sum = 0
    for(let i=0;i<k;i++){
        sum+=nums[i]
    }
    let maxSum = sum
    for(let i=k;i<len;i++){
        sum = sum-nums[i-k]+nums[i]
        maxSum = Math.max(maxSum,sum)
    }
    return maxSum/k
};