给定一个数组和整数k
如果某个子数组中恰好有k个奇数数字,认为该数组为优美子数组
返回优美子数组的个数
同样是利用哈希表解决
from collections import defaultdict
class Solution:
def numberOfSubarrays(self, nums: List[int], k: int) -> int:
cnt=defaultdict(int)
cnt[0]=1
odd_num,res=0,0
for i,val in enumerate(nums):
if val%2==1:
odd_num+=1
cnt[odd_num]+=1
if odd_num>=k:
res+=cnt[odd_num-k]
return res