560. Subarray Sum Equals K
Input:nums = [1,1,1], k = 2
Output: 2int subarraySum(vector<int>& nums, int k) { // time: O(n); space: O(n)
unordered_map<int, int> preSum;
++preSum[0];
int sum = 0, res = 0;
for (int num : nums) {
sum += num;
if (preSum.count(sum - k)) res += preSum[sum - k];
++preSum[sum];
}
return res;
}Last updated