Binary Subarrays With Sum

IF
AlgoAxiomStaff Engineers
JSTS
Medium20 mins

Given a binary array nums and an integer goal, return the number of non-empty subarrays with a sum equal to goal.

A subarray is a contiguous part of the array.

Examples

Example 1:

Input: nums = [1,0,1,0,1], goal = 2

Output: 4

Explanation: The 4 subarrays with sum equal to 2 are: [1,0,1], [1,0,1,0], [0,1,0,1], [1,0,1].

Example 2:

Input: nums = [0,0,0,0,0], goal = 0

Output: 15

Explanation: Every non-empty subarray sums to 0, and there are 15 subarrays total (5 choose 2 + 5 = 15).

Example 3:

Input: nums = [1,1,1], goal = 2

Output: 2

Explanation: The 2 subarrays with sum equal to 2 are: [1,1] (indices 0-1) and [1,1] (indices 1-2).

Constraints

  • 1 <= nums.length <= 3 * 10^4
  • nums[i] is either 0 or 1
  • 0 <= goal <= nums.length
Source: Sliding Window pattern — AlgoAxiom
JavaScript
Test Case 1
root = [1, 2, 3]
Test Case 2
root = [1, 2, 3, 4, 5]
Idle