特定长度子数组的最大平均值(JavaScript)
问题
我们要求编写一个 JavaScript 函数,该函数接收一个整数数组 arr 作为第一个参数,并将一个数字 num 作为第二个参数。
我们的函数应找到具有最大平均值的给定长度为 num 的连续子数组。我们需要输出最大平均值。
例如,如果函数的输入是
输入
const arr = [1, 12, -5, -6, 50, 3]; const num = 4;
输出
const output = 12.75;
输出说明
因为所需的子数组是 [12, -5, -6, 50]
示例
以下是代码 -
const arr = [1, 12, -5, -6, 50, 3]; const num = 4; const maxAverage = (arr = [], num) => { let sum = arr.slice(0, num).reduce((acc, v) => acc + v, 0) let max = sum for (let i = 1; i <= arr.length - num; i++) { sum = sum + arr[i + num - 1] - arr[i - 1] max = Math.max(max, sum) } return max / num } console.log(maxAverage(arr, num));
输出
12.75
广告