1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class Solution { public int numberOfSubarrays(int[] nums, int k) { int[] preArray = new int[nums.length + 1]; preArray[0] = 1;
int sum = 0, res = 0; for (int num : nums) { sum += num & 1; if (sum >= k) { res += preArray[sum - k]; } preArray[sum]++; }
return res; } }
|
References
1248. Count Number of Nice Subarrays