Subarrays with sum K or target
Input:
N = 5
Arr = {10 , 2, -2, -20, 10}
k = -10
Output: 3
Explaination:
Subarrays: arr[0...3], arr[1...4], arr[3..4]
have sum exactly equal to -10.class Solution{
public:
int findSubArraySum(int Arr[], int N, int k)
{
map<int,int>mp;
int ans=0,sum=0;
mp[0]=1;
for(int i=0;i<N;i++)
{
sum+=Arr[i];
if(mp.find(sum-k)!=mp.end())
ans+=mp[sum-k];
mp[sum]++;
}
return ans;
}
};
Comments
Post a Comment