Computer >> Máy Tính >  >> Lập trình >> Javascript

Mức trung bình tối đa của độ dài cụ thể của mảng con trong JavaScript

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