作者oin1104 (是oin的說)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Sat Jun 22 12:29:26 2024
題目 :
給你一串陣列
問你有多少子陣列
裡面的奇數剛好有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沒用到 現在才發現 沒差
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.53.5 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1719030568.A.1B7.html
推 Smallsh: 大師 06/22 12:33
→ SecondRun: 有些語言或編輯器看到你參數空著沒用直接報錯 06/22 13:01
推 smart0eddie: sliding window 要跑很久吧 06/22 13:21