1
2
3
4
5
6
7
8
9
10
11
12
13
14
| class Solution:
def numberOfSubarrays(self, nums: List[int], k: int) -> int:
def atMost(k):
result = 0
i = 0
for j in range(len(nums)):
k -= nums[j] % 2
while k < 0:
k += nums[i] % 2
i += 1
result += j - i + 1
return result
return atMost(k) - atMost(k - 1)
|