6.Subarray Sum Equals K
Example 1:
Input:nums = [1,1,1], k = 2
Output: 2Solution I: (Using Prefix Sum)
class Solution
{
public:
int subarraySum(vector<int> &nums, int target)
{
vector<int> v(nums.size());
int s = 0;
for (int i = 0; i < nums.size(); i++)
{
s = s + nums[i];
v[i] = s;
}
int k, count = 0, i, j;
for ( i = 0; i < v.size(); i++)
{
for (j = i; j < v.size(); j++)
{
if (i == 0)
{
k = v[j];
}
else
{
k = v[j] - v[i - 1];
}
if (k == target)
{
count++;
}
}
}
return count;
}
};Solution II: (Using Hashmap)
Subarray sum for +ve integer
Last updated