/*
使用数组odd存储奇数下标
*/
class Solution {
public:
int numberOfSubarrays(vector<int>& nums, int k) {
int odd_s = 0, ans = 0;
int n = nums.size();
vector<int> odd(n+2);
for(int i=0; i<n; i++) {
if(nums[i]%2) odd[++odd_s] = i;
}
odd[0] = -1;
odd[++odd_s] = n;
for(int i=1; i+k<=odd_s; i++) {
ans += (odd[i]-odd[i-1])*(odd[i+k]-odd[i+k-1]);
}
return ans;
}
};
【LeetCode】1248.统计[优美子数组]
最新推荐文章于 2025-03-27 20:00:00 发布