source: https://leetcode.com/problems/number-of-zero-filled-subarrays/description/

### Number of Zero-Filled Subarrays

Given an integer array nums, return the number of zero-filled subarrays.

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

**Example 1:**

**Input:** nums = [1,3,0,0,2,0,0,4]

**Output:** 6

**Explanation:**

There are 4 occurrences of [0] as a subarray.

There are 2 occurrences of [0,0] as a subarray.

There is no occurrence of a subarray with a size more than 2 filled with 0. Therefore, we return 6.

**Example 2:**

**Input:** nums = [0,0,0,2,0,0]

**Output:** 9

**Explanation:**

There are 5 occurrences of [0] as a subarray.

There are 3 occurrences of [0,0] as a subarray.

There is 1 occurrence of [0,0,0] as a subarray.

There is no occurrence of a subarray with a size more than 3 filled with 0. Therefore, we return 9.

**Example 3:**

**Input:** nums = [2,10,2019]

**Output:** 0

**Explanation:** There is no subarray filled with 0. Therefore, we return 0.

**Constraints:**

- 1 <= nums.length <= 105
- -109 <= nums[i] <= 109

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
class Solution { //focus on the zeros //[0, 0, 0, 0] //count the number of sub arrays of different sizes //subarray of size 1: 4 //subarray of size 2: 3 //subarray of size 3: 2 //subarray of size 4: 1 //total: 10 public long zeroFilledSubarray(int[] nums) { long sum = 0; long count = 0; for(int i=0;i<nums.length;i++){ if(nums[i]==0){ count ++; } else { //if the the num is not zero //reset the count count = 0; } sum = sum + count; } return sum; } } |

n -> is the number of elements in an array

**Time Complexity**

- O(n)

**Space Complexity**

- O(1)