mediumDSA

How do you count subarrays that sum to k?

342 views
01

Understand the problem

Explain the prefix-sum + hashmap method.

arraysprefix-sum
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Prefix sum + hash map
Run Playground
def subarray_sum(nums, k):
    counts = {0: 1}
    total = run = 0
    for x in nums:
        run += x
        total += counts.get(run - k, 0)
        counts[run] = counts.get(run, 0) + 1
    return total


# --- demo ---
print(subarray_sum([1, 1, 1], 2))   # 2
print(subarray_sum([1, 2, 3], 3))   # 2  ([1,2] and [3])
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.