作者:
oin1104 (是oin的說)
2024-06-22 12:29:26題目 :
給你一串陣列
問你有多少子陣列
裡面的奇數剛好有k個
思路 :
第一眼看到就sliding window
可是我是傲嬌
所以我用hash+一點點前綴和的感覺去寫
先在紀錄裡找有沒有出現過now-k
加上他的數量
然後再記錄出現的奇數數量now
這樣就可以ㄌ
```cpp
class Solution {
public:
int numberOfSubarrays(vector<int>& nums, int k)
{
int len = nums.size();
int res = 0;
vector<int> paper(len,0);
vector<int> save(50001,0);
save[0] = 1;
int now = 0;
for(int i = 0 ; i < len ; i ++)
{
if(nums[i] & 1)now ++;
if(now-k >= 0)res += save[now-k];
save[now]++;
}
return res;
}
};
```
靠北 我paper沒用到 現在才發現 沒差