const arr = [3, 1, 4, 1, 5]; const prefixSum: number[] = []; prefixSum[0] = arr[0]; for (let i = 1; i < arr.length; i++) { prefixSum[i] = prefixSum[i - 1] + arr[i]; } console.log(prefixSum);
The prefix sum array stores cumulative sums. Starting with 3, then 3+1=4, then 4+4=8, then 8+1=9, and finally 9+5=14.
Prefix sum arrays let you find the sum of any part of the array quickly by subtracting two prefix sums, avoiding repeated addition.
const arr = [2, 4, 6]; const prefixSum = undefined; for (let i = 0; i < arr.length; i++) { prefixSum[i] = prefixSum[i - 1] + arr[i]; } console.log(prefixSum);
Accessing prefixSum[-1] is undefined, so adding undefined to arr[0] causes a TypeError.
Sum from index 2 to 4 (inclusive) = prefixSum[4] - prefixSum[1] = 20 - 5 = 15.
Option A correctly initializes prefixSum with the first element and starts loop from i=1, avoiding undefined access.
Option A and D access prefixSum[-1] at i=0 causing errors.
Option A creates prefixSum with an extra 0 at start, which changes the array length and output.
