Re: [闲聊] 每日leetcode

楼主: 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没用到 现在才发现 没差
作者: Smallsh (Smallsh)   2024-06-22 12:33:00
大师
作者: SecondRun (雨夜琴声)   2024-06-22 13:01:00
有些语言或编辑器看到你参数空着没用直接报错
作者: smart0eddie (smart0eddie)   2024-06-22 13:21:00
sliding window 要跑很久吧

Links booklink

Contact Us: admin [ a t ] ucptt.com