一、题目描述

二、算法原理

三、代码实现
class Solution {
public:
int subarraySum(vector<int>& nums, int k)
{
unordered_map<int,int> hash;
int ret=0,sum=0;
hash[0]=1;
for(auto num:nums)
{
sum+=num;
if(hash.count(sum-k))
{
ret+=hash[sum-k];
}
hash[sum]++;
}
return ret;
}
};