题目:
给你一个整数数组 nums ,返回全部为 0 的 子数组 数目。
子数组 是一个数组中一段连续非空元素组成的序列。
示例 1:
输入:nums = [1,3,0,0,2,0,0,4]
输出:6
解释:
子数组 [0] 出现了 4 次。
子数组 [0,0] 出现了 2 次。
不存在长度大于 2 的全 0 子数组,所以我们返回 6 。
示例 2:
输入:nums = [0,0,0,2,0,0]
输出:9
解释:
子数组 [0] 出现了 5 次。
子数组 [0,0] 出现了 3 次。
子数组 [0,0,0] 出现了 1 次。
不存在长度大于 3 的全 0 子数组,所以我们返回 9 。
示例 3:
输入:nums = [2,10,2019]
输出:0
解释:没有全 0 子数组,所以我们返回 0 。
提示:文章来源:https://www.toymoban.com/news/detail-423991.html
1 <= nums.length <= 10^5
-10^9 <= nums[i] <= 10^9文章来源地址https://www.toymoban.com/news/detail-423991.html
java代码:
class Solution {
public long zeroFilledSubarray(int[] nums) {
var ans = 0L;
var c = 0;
for (var num : nums)
if (num != 0) c = 0;
else ans += ++c;
return ans;
}
}
到了这里,关于【算法题】2348. 全 0 子数组的数目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!