Data Structures19 sections · 729 units
Open in Course

Subarray Sum - Algorithm

Count as you go

Maintain a running prefix sum and a hash map of prefix sum frequencies:

1.1. Initialize: prefixSum=0prefixSum = 0, count=0count = 0, hash map with {0:1}\{0: 1\} (empty prefix).

2.2. For each element, add it to prefixSumprefixSum.

3.3. Add freq[prefixSumk]freq[prefixSum - k] to countcount (number of valid subarrays ending here).

4.4. Increment freq[prefixSum]freq[prefixSum] by 11.

5.5. Return countcount. The hash map tracks "how many times has each prefix sum occurred?" Time: O(n)O(n). Space: O(n)O(n).