特定長度子陣列的最大平均值(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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式語言
C++
C#
MongoDB
MySQL
Javascript
PHP