560. 和为 K 的子数组

This commit is contained in:
2025-09-12 00:42:49 +08:00
parent b0d0b61aa1
commit 124b24c361

20
test010.cpp Normal file
View File

@@ -0,0 +1,20 @@
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;
}
};