เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของอาร์เรย์ตัวเลข สำหรับแต่ละอาร์เรย์ย่อย ให้สร้างอาร์เรย์ Partial Sum (ค่าที่ตำแหน่ง i คือผลรวมของสมาชิกตั้งแต่ต้นจนถึง i)
ตัวอย่าง: อินพุต [[1,1,1,-1], [1,-1,-1], [1,1]] ผลลัพธ์ [[1,2,3,2], [1,0,-1], [1,2]]
ตัวอย่างโค้ด
const arr = [ [1, 1, 1, -1], [1, -1, -1], [1, 1] ];
const partialSum = (arr = []) => {
const res = [];
arr.forEach(sub => {
let accu = 0;
const nestedArr = [];
sub.forEach(n => {
accu += n;
nestedArr.push(accu);
});
res.push(nestedArr);
});
return res;
};
console.log(partialSum(arr));
ผลลัพธ์
ค่าที่แสดงในคอนโซลจะเป็นดังนี้:
[ [ 1, 2, 3, 2 ], [ 1, 0, -1 ], [ 1, 2 ] ]