Chúng ta cần viết hàm nhận mảng số. Hàm xây dựng và trả về mảng mới mà tại mỗi chỉ số chứa tổng tất cả số đến chỉ số đó.
Ví dụ - arr = [1, 2, 3, 4, 5] -> output = [1, 3, 6, 10, 15]. Có thể dùng dynamic programming: giữ tổng từng vòng lặp và cộng phần tử tương ứng.
Ví dụ
Code sau đây:
const arr = [1, 2, 3, 4, 5];
const cumulativeSum = arr => {
let result = [arr[0]];
for (let i = 1; i < arr.length; i++) {
result.push(arr[i] + result[i - 1]);
}
return result;
};
console.log(cumulativeSum(arr));Kết quả
Kết quả trên console:
[ 1, 3, 6, 10, 15 ]