Subarray Sum Equals K

Medium~30 min

Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals k.

A subarray is a contiguous non-empty sequence of elements within an array.

Examples

Example 1
Input: nums = [1, 1, 1], k = 2
Output: 2
Explanation: 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 = 3
Output: 2
Explanation: The subarrays [1, 2] and [3] both sum to 3.
Example 3
Input: nums = [1, -1, 0], k = 0
Output: 3
Explanation: The subarrays [1, -1], [-1, 0], and [1, -1, 0] all sum to 0.

Constraints

  • 1 <= nums.length <= 2 * 10^4
  • -1000 <= nums[i] <= 1000
  • -10^7 <= k <= 10^7
  • Expected time complexity: O(n)
Code
Ctrl+EnterRun|Ctrl+⇧+EnterSubmit
Output

Run your code to see results

Use Cmd+Enter to run