题目:
分析:
恰好k个--------------------双指针呗。
4*4=16
代码:
class Solution {
public:
int numberOfSubarrays(vector<int>& nums, int k) {
if(nums.size()<k) return 0;
int b1=0;
int b2=0;
int all=0;
int c=0;
for(b2=0;b2<nums.size();b2++)
{
if(nums[b2]%2==1) c++;
if(c==k) break;
}
if(b2==nums.size()) return 0;
if(b2==nums.size()-1)
{
for(b1=0;;b1++)
{
if(nums[b1]%2==1) break;
}
return b1+1;
}
while(1)
{
int t=1;
if(b2>=nums.size()) return all;
if(b2!=nums.size()-1)
for(b2++;b2<nums.size();b2++)
{
if(nums[b2]%2==1) break;
t++;
}
else b2++;
int tt=1;
for(;b1<nums.size();b1++)
{
if(nums[b1]%2==1) break;
tt++;
}
all+=tt*t;
b1++;
}
return all;
}
};