Viết hàm nhận mảng và kích thước cửa sổ num, trả về mảng trung bình của mọi cửa sổ liên tiếp độ dài num.
Ví dụ: arr=[1,2,3,4,5], num=2 → [1.5,2.5,3.5,4.5].
Ví dụ
const arr = [1, 2, 3, 4, 5];
const num = 2;
const findContiniousAverage = (arr = [], num = 1) => {
if (num > arr.length) return [];
const res = [];
let sum = 0, left = 0, right = 0;
for (; right < num; right++) sum += arr[right];
res.push(sum / num);
for (; right < arr.length; right++, left++) {
sum -= arr[left];
sum += arr[right];
res.push(sum / num);
}
return res;
};
console.log(findContiniousAverage(arr, num));
console.log(findContiniousAverage(arr));
Kết quả
[1.5, 2.5, 3.5, 4.5] [1, 2, 3, 4, 5]