Number of Sub-arrays with Sum = k
Created | |
---|---|
Tags |
int Sum(int arr[], int n, int sum = 1)
{
unordered_map<int, int> prevSum;
int res = 0;
int curr_sum = 0;
for (int i = 0; i < n; i++)
{
curr_sum += arr[i];
if (curr_sum == sum) res++;
if (prevSum.find(curr_sum - sum) != prevSum.end())
res += (prevSum[curr_sum - sum]);
prevSum[curr_sum]++;
}
return res;
}