哈希表
class Solution {
public:
int subarraySum(vector<int>& nums, int k) {
unordered_map<int,int>hm;
hm[0]=1;
int out=0,sum=0;
int n=nums.size();
for(int i=0;i<n;i++){
sum+=nums[i];
if(hm.count(sum-k))out+=hm[sum-k];
hm[sum]++;
}
return out;
}
};
暴力解
class Solution {
public:
int subarraySum(vector<int>& nums, int k) {
int out=0;
int n=nums.size();
for(int i=0;i<n;i++){
int sum=0;
for(int j=i;j<n;j++){
sum+=nums[j];
if(sum==k)out++;
}
}
return out;
}
};
超时