Dynamic Programming21 sections · 916 units
Open in Course

Prefix Sums - Walkthrough

Tracing the algorithm

Build prefix sums for arr=[3,1,4,1,5,9]arr = [3, 1, 4, 1, 5, 9]. Let prefix[0]=0prefix[0] = 0 (empty prefix). prefix[1]=3prefix[1] = 3, prefix[2]=4prefix[2] = 4, prefix[3]=8prefix[3] = 8, prefix[4]=9prefix[4] = 9, prefix[5]=14prefix[5] = 14, prefix[6]=23prefix[6] = 23.

Now answer: sum of arr[2..4]arr[2..4] (0-indexed)? That's prefix[5]prefix[2]=144=10prefix[5] - prefix[2] = 14 - 4 = 10. Check: 4+1+5=104 + 1 + 5 = 10. Correct! Each query is O(1)O(1) after O(n)O(n) preprocessing. For qq queries, this beats the naive O(nq)O(nq) approach.