Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int numberOfSubarrays(vector<int>& nums, int k) {
- int n=nums.size();
- vector<int> pos;
- int res=0;
- int count=0;
- for(int i=0;i<n;i++)
- {
- if(nums[i]%2!=0)
- {
- pos.push_back(i);
- }
- }
- // for(auto x:pos)
- // {
- // cout<<x<<", ";
- // }cout<<endl;
- int i=0;
- int j=k-1;
- int left=0;
- int right=0;
- int m=pos.size();
- while(i<m && j<m)
- {
- // cout<<pos[i]<<" "<<pos[j]<<endl;
- if(i==0 && pos[i]==0)
- left=1;
- else if( i==0 && pos[i]!=0)
- left= pos[i]+1;
- else
- left=pos[i]-pos[i-1];
- if(j==m-1 && pos[j]==n-1)
- right=1;
- else if(j==m-1 && pos[j]!=n-1)
- right=(n-1)-pos[j]+1;
- else
- right=pos[j+1]-pos[j];
- res+=(left*right);
- i++;
- j++;
- }
- // cout<<"--"<<endl;
- return res;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement