Files
leetcode-hot100/test010.cpp
2025-09-12 00:42:49 +08:00

20 lines
502 B
C++

class Solution {
public:
int subarraySum(vector<int>& nums, int k) {
int n = nums.size();
vector<int> p(n+1, 0);
for(int i = 1; i <= n; i++){
p[i] = p[i - 1] + nums[i - 1];
}
int ret = 0;
unordered_map<int, int> data;
for(int l = n; l; l--){
data[p[l]]++;
int target = k + p[l-1];
if(data.count(target)){
ret += data[target];
}
}
return ret;
}
};