Prefix Sum & Difference/Medium

Subarray Sum Equals KPRO PASS

Time: O(N)Space: O(N)

Step 1: Setup & Initialization - Subarray Sum Equals K

Maintain running prefix sum and query frequency of (prefix - k).

Array Elements & Pointers
10
[0]
20
[1]
30
[2]
40
[3]
50
[4]
Live Variables & Invariants
status:Initialized
pattern:Subarray Sum Equals K
Step 1 / 333%
Solution Code
1
function subarraySum(nums: number[], k: number): number {
2
  const map = new Map<number, number>(); map.set(0, 1);
3
  let sum = 0, count = 0;
4
  for (const n of nums) {
5
    sum += n;
6
    if (map.has(sum - k)) count += map.get(sum - k)!;
7
    map.set(sum, (map.get(sum) || 0) + 1);
8
  }
9
  return count;
10
}

Custom Test Case Runner

Input your custom values and visualize step-by-step trace

Quick Presets:

AI DSA Coach

Contextual Tutor for Subarray Sum Equals K

Hello! I am your AI DSA Tutor for **Subarray Sum Equals K** (Prefix Sum & Difference). Ask me anything about this algorithm, time complexity, or request a step hint!