前缀和,哈希
class Solution {
public:
int subarraySum(vector<int>& nums, int k) {
int pre = 0;
unordered_map<int,int> mp;
int count = 0;
for(int i = 0;i <nums.size();i++)
{
mp[pre]++;
pre += nums[i];
if(mp.contains(k - nums[i]))
count += mp[k-nums[i]];
}
return count;
}
};