Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng các số nguyên, arr, làm đối số đầu tiên và một số, num, làm đối số thứ hai.
Hàm của chúng ta sẽ tìm mảng con liền kề của num độ dài đã cho có giá trị trung bình lớn nhất. Và chúng ta cần xuất giá trị trung bình lớn nhất.
Ví dụ:nếu đầu vào của hàm là
Đầu vào
const arr = [1, 12, -5, -6, 50, 3]; const num = 4;
Đầu ra
const output = 12.75;
Giải thích đầu ra
Vì mảng con mong muốn là [12, -5, -6, 50]
Ví dụ
Sau đây là mã -
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));
Đầu ra
12.75