function subarraySum(nums: number[], k: number): number {
let count = 0,
sum = 0,
map = new Map<number, number>();
map.set(0, 1);
for (const num of nums) {
sum += num;
if (map.has(sum - k)) {
count += map.get(sum - k);
}
map.set(sum, (map.get(sum) || 0) + 1);
}
return count;
}