classSolution{
public:intsubarraySum(vector<int>& nums,int k){
int result =0;int sum =0;for(int i=0; i<nums.size(); i++){
for(int j=i ; j<nums.size(); j++){
sum += nums[j];if(sum == k) result++;}
sum =0;}return result;}};
高刷题(前缀和 + map)
classSolution{
public:intsubarraySum(vector<int>& nums,int k){
int result =0;int pre =0;
unordered_map<int,int> preMap;
preMap[pre]++;for(int i=0; i<nums.size(); i++){
pre += nums[i];if(preMap.find( pre -k )!= preMap.end())
result += preMap[pre-k];
preMap[pre]++;}return result;}};