1248 - Count Number of Nice Subarrays
JAVA
class Solution { public int numberOfSubarrays(int[] nums, int k) { int n = nums.length; int[] cnt = new int[n + 1]; cnt[0] = 1; int ans = 0, t = 0; for (int v : nums) { t += v & 1; if (t - k >= 0) { ans += cnt[t - k]; } cnt[t]++; } return ans; } }
C++
class Solution { public: int numberOfSubarrays(vector<int>& nums, int k) { int n = nums.size(); vector<int> cnt(n + 1); cnt[0] = 1; int ans = 0, t = 0; for (int& v : nums) { t += v & 1; if (t - k >= 0) { ans += cnt[t - k]; } cnt[t]++; } return ans; } };
Comments
Post a Comment