DSA problem
Subarray Sum Equals K
Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals to k.
A subarray is a contiguous non-empty sequence of elements within an array.
Because nums may contain negative numbers, a sliding window will not work. The efficient solution combines a running prefix sum with a hash map that counts how many times each prefix-sum value has been seen.
Examples
Example 1
Input:
nums = [1,1,1], k = 2Output:
2Explanation: The subarrays [1,1] starting at index 0 and [1,1] starting at index 1 both sum to 2.
Example 2
Input:
nums = [1,2,3], k = 3Output:
2Explanation: The subarrays [1,2] and [3] both sum to 3.
Constraints
- 1 <= nums.length <= 2 * 10^4
- -1000 <= nums[i] <= 1000
- -10^7 <= k <= 10^7
3 hints and a full solution walkthrough with step-by-step visualizations are available in the practice editor.