Medium
,Array
,Math
2348. Number of Zero-Filled Subarrays
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:
nums.length
<= 105nums[i]
<= 109
class Solution {
public:
long long zeroFilledSubarray(vector<int>& nums) {
long long ans = 0, count = 0;
for (auto num : nums) {
if (num) count = 0;
else count++;
ans += count;
}
return ans;
}
};
Yen-Chi ChenTue, Mar 21, 2023
class Solution:
def zeroFilledSubarray(self, nums: List[int]) -> int:
ans, count = 0, 0
for n in nums:
if n:
count = 0
else:
count += 1
ans += count
return ans
Yen-Chi ChenTue, Mar 21, 2023
function zeroFilledSubarray(nums) {
let countZero = 0;
let result = 0;
for (const num of nums) {
if (num === 0) {
countZero++;
} else {
countZero = 0;
}
result += countZero;
}
return result;
}
MarsgoatTue, Mar 21, 2023