题目
给定一个01数组 arr 和 一个整数 k, 统计有多少区间符合如下条件:
区间的两个端点都为 0 (允许区间长度为1)
区间内 1 的个数不多于 k
arr 的大小不超过 10^5
样例 1:...arr = [0, 0, 1, 0, 1, 1, 0], k = 1
输出: 7
解释: [0, 0], [1, 1], [3, 3], [6, 6], [0, 1], [0, 3], [1, 3]
(区间...i(包括)和下标 j(包括)之间的元素)
样例 2:
输入: arr = [1, 1, 1, 0, 0, 1], k = 2
输出: 3
解释: [3, 3], [4, 4], [3, 4]
(区间...); ++i)
{
q.push(i);
if(arr[i])
s++;
else//等于0,以该0为右端点的区间...q.front()]==1)
s--;
q.pop();
}
ans += i-q.front()+1 - s;//区间的长度