g2301_2400.s2348_number_of_zero_filled_subarrays.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g2301_2400.s2348_number_of_zero_filled_subarrays;
// #Medium #Array #Math #2022_07_30_Time_3_ms_(99.90%)_Space_59.8_MB_(95.67%)
/**
* 2348 - Number of Zero-Filled Subarrays\.
*
* Medium
*
* Given an integer array `nums`, return _the number of **subarrays** filled with_ `0`.
*
* 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
**/
public class Solution {
public long zeroFilledSubarray(int[] nums) {
long cnt = 0L;
long local = 0L;
for (int n : nums) {
if (n == 0) {
cnt += ++local;
} else {
local = 0;
}
}
return cnt;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy