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
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短